- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有两个收藏。一个是 jobs
,另一个是 users
。
用户可以选择喜欢的类别名称。我存储在 User
集合中...在 job
中,我使用 categoryName
存储所有类别。
当向job
和这个作业插入新作业时,categoryName == user selected categoryName
我触发了对设备的推送通知。
只是要知道:我存储设备 token tokens
集合。
插入新作业时 Function log
中出现错误消息'
TypeError: favoriteData is not iterable at exports.favoriteTrigger.functions.firestore.document.onCreate (/srv/index.js:57:25) at cloudFunction (/srv/node_modules/firebase-functions/lib/cloud-functions.js:131:23) at /worker/worker.js:825:24 at at process._tickDomainCallback (internal/process/next_tick.js:229:7)
exports.favoriteTrigger = functions.firestore.document('jobs/{any}')
.onCreate((snapshot,context)=>{
var categoryName = [];
var equalCategory = [];
if(snapshot.empty){
console.log('No Jobs in Jobs Collection');
return null;
}else{
favoriteData = snapshot.data();
for(var jobC of favoriteData){ //57:25 line code. error is coming here
categoryName.push(jobC.data().categoryName);
}
admin.firestore().collection('users').get().then((snapshot)=>{
var userCategory = [];
if(snapshot.empty){
console.log('User not select favorite category yet');
return null;
}else{
for(var jobCategory of snapshot.docs){
userCategory.push(jobCategory.data().jobCategory);
}
var i;
var j;
for(i = 0; i < userCategory.length; i++){
for(j = 0; j < categoryName.length; j++){
if(userCategory[i] === categoryName[j]){
return equalCategory.push(userCategory[i]);
}
}
}
return null;
}
}).catch((error)=>{
console.log('Error last ' + error);
});
admin.firestore().collection('tokens').get().then((snapshot)=>{
var tokens = [];
if(snapshot.empty){
console.log('No devices');
return null;
}else{
for(var token of snapshot.docs){
tokens.push(token.data().tokenId);
}
var payload = {
"notification":{
"title":"You have new job ",
"body":"Offer",
"sound":"default"
},
"data":{
"sendername":msgData.applyJobDate,
"message":msgData.jobId
}
};
if(equalCategory.length !== 0){
return admin.messaging().sendToDevice(tokens,payload).then((response)=>{
console.log('pushed them all');
return null;
}).catch((error)=> {
console.log(error);
return null;
})
}
}
return null;
}).catch((error)=>{
console.log(error);
return null;
})
}
});
最佳答案
DocumentSnapshot .data()
返回一个对象,您不能使用 for...of
对其进行迭代。根据您要执行的操作,您可以使用:
for...in
Object.keys()
Object.values()
在返回的对象上
关于javascript - favoriteData 在 exports.favoriteTrigger.functions.firestore.document.onCreate 在 cloudFunction 不可迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58393979/
我正在尝试通过云代码删除文件。但是这个脚本失败了: Parse.Cloud.define("deleteFile1", function(request, response) { Pars
自 0.2.0 版 cloud_functions 开始,Flutter 使用 .getHttpsCallable() 而不是 .call()。新方法定义为: /// @param functionN
我正在尝试向设备在 firebase 数据库中拥有的所有用户发送通知,但它在云函数的寄存器中显示:“ReferenceError:值未定义”。 应该做的是:每次在“通知”中进行更改时,您必须获取更改的
我需要一些帮助。 我的项目有 2 个集合,一个称为“产品”,另一个称为“用户”。 我将所选产品信息复制到用户的子集合中作为收藏夹,在本例中: 用户(集合)> 用户(文档)> 收藏夹(集合)> 产品(文
我需要一些帮助。 我的项目有 2 个集合,一个称为“产品”,另一个称为“用户”。 我将所选产品信息复制到用户的子集合中作为收藏夹,在本例中: 用户(集合)> 用户(文档)> 收藏夹(集合)> 产品(文
我正在使用云功能通过设备 token 发送通知。 const payload: admin.messaging.MessagingPayload = { notificatio
我有一个包含下一项的集合,其中一个属性是日期: id: xxxxxx name: xxxx date: August 21, 2018 at 1:00:00 AM UTC+8 (timestamp
我正在尝试实现一个可以运行 ffmpeg 的 Cloudfunction在谷歌存储桶上传。我一直在玩基于 https://kpetrovi.ch/2017/11/02/transcoding-vide
给定一些通用的 Python 代码,结构如下...... cloudbuild.yaml requirements.txt functions/ folder_a/ test/
我尝试调用云函数并传递一些数据。我的数据类型为 Map里面又嵌套了一些 Map .当试图用这个调用我的函数时: getHttpsCallable(function).call(data)... 我收到
我们有单独的 GCP 项目用于“构建”和“生产”环境。我想将 Cloud Build 用于“build”项目以在“prod”项目中部署 Cloud Function。跟随 documentation
我正在尝试从 Firebase 云功能访问我的存储 但我无法访问它 它给了我 类型错误:storage.ref 不是函数 这是我的代码 const functions = require('fireb
我在尝试使用以下方法部署谷歌云 HTTP 函数时刚开始遇到错误: gcloud functions deploy http_function --trigger-http 现在我收到这样的错误: ER
我有两个收藏。一个是 jobs,另一个是 users。 用户可以选择喜欢的类别名称。我存储在 User 集合中...在 job 中,我使用 categoryName 存储所有类别。 当向job 和这个
如何将 admin.firestore.FieldValue.serverTimestamp() 传递给 update() 方法? 我想将其插入到一个数组中,如下所示: import * as fun
我是一名优秀的程序员,十分优秀!