【发布时间】:2020-10-09 10:09:46
【问题描述】:
我一直在努力理解为什么我的 Firebase 云功能不起作用。
当新用户注册并创建该用户的文档时,我将删除名为“anglerNumbers”的集合中的保留号码。我在客户端上使用它来确保保留的号码不能被使用两次。我在这里关注文档:https://firebase.google.com/docs/firestore/query-data/queries?authuser=0(使用 Node.js)
但我不断收到错误:TypeError: snapshot.forEach is not a function
函数如下:
exports.newUser = functions.firestore.document('users/{userId}')
.onCreate((snap, context) => {
const newUserNumber = snap.data().anglerNumber;
const anglersRef = admin.firestore().collection('anglerNumbers');
const snapshot = anglersRef.where('anglerNumber', '==', newUserNumber).get();
if (snapshot.empty) {
console.log('No matching documents.');
return;
}
snapshot.forEach(doc => {
console.log(doc.id, '=>', doc.data());
doc.delete();
});
})
它不会控制台日志“没有匹配的文档”。所以有文档,但我无法按照文档的指示执行 forEach。我错过了什么?谢谢!
【问题讨论】:
-
get()返回一个承诺。你应该先等待它的解决。
标签: firebase google-cloud-functions