0

使用 geofirestore,我可以从users/{userId}/pros云函数中的集合中查询并获取结果文档(doc)。现在我想在来自查询users/{userId}/pros/{proId}/notifs的每个文档下添加一个新集合。users/{userId}/pros/{proId}所以,我是这样写的;

exports.sendNotification = functions.firestore
.document("users/{user}/consumers/{consumer}")
.onCreate(async snapshot => {
try {

 query.get().then(querySnapshot => {
 querySnapshot.forEach(doc => {
    
 await doc.ref.collection('notifs').add({ . . .}); 

 }).catch ((error) =>
            console.log(error));
 

但是我不断收到错误TypeError: Cannot read property 'collection' of undefined。似乎有什么问题?Geofiretore queryDocumentSnapshot 似乎没有 collection() 属性。谢谢你的帮助。

4

1 回答 1

1

循环前缺少docs属性。forEach根据QuerySnapshot 文档,该属性是:

QuerySnapshot 中所有文档的数组

因此,如果您想遍历文档,则应该是:

...
query.get().then(querySnapshot => {
 querySnapshot.docs.forEach(doc => {
...

根据我的测试,这至少可以直接在节点中工作(也用于云功能)

于 2021-01-27T12:15:38.863 回答