类型错误:"引用"对象在 java 脚本中不可迭代



我想从firebase检索数据到javascrip。如何获取一些数据并将输出数据输出到变量。这是我的代码

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
exports.sendNotificationUser = functions.firestore
.document('donorRequests/{donorRequestId}')
.onWrite((snapshot, context) => {
var tokens = [];
// var accounts = admin.firestore().collection('accounts').where("bloodType", '==', record.bloodType).where("rhesus", '==', record.rhesus).get();
for (const i of accounts) {
tokens.push(account.val().token);
}
var payload = {
"notification":{
'title': 'Hai Pahlawan!',
'body': 'Seseorang butuh kamu, yuk kita bantu :)'
}
}
admin.messaging().sendToDevice(tokens, payload);                
})

并且错误消息是

TypeError:账户不可迭代

任何人都可以帮助我

正如您从API文档中看到的,Firestore的query.get()返回一个承诺,该承诺通过QuerySnapshot对象解析。您将不得不使用该承诺来等待查询完成,然后在QuerySnapshot对象中迭代文档。

我建议从文档开始学习查询如何使用Firestore,并查看一些示例。

此外,您还必须了解JavaScript承诺如何与云函数协同工作。您必须正确处理来自查询的promise和来自sendToDevice的promise,否则函数将无法工作。有关详细信息,请参阅文档。

相关内容

  • 没有找到相关文章