当函数正在侦听顶级文档时,subcollections
的更改是否可以触发Firebase功能?如果不是,documentation的通配符示例中的第一行是什么意思?
这是什么意思???如果子集合发生变化会触发该功能吗? 但它似乎并不在同一页面的其他地方也这样说。
// Listen for changes in all documents and all sub-collections
...
exports.useWildcard = functions.firestore
.document('users/{userId}')
.onWrite((event) => {
// If we set `/users/marie` to {name: "marie"} then
event.params.userId == "marie"
// ... and ...
event.data.data() == {name: "Marie"}
});
Firestore和函数触发器的预期行为是什么??
答案 0 :(得分:2)
我认为示例代码中的注释对于文档通配符为的示例不正确:
'users/{userId}'
请注意,在该示例下面的文字中说:
如果用户中的文档具有子集合,并且其中一个中的字段具有子集合 子集合的文档已更改,userId通配符不 触发。
下面的示例包含以下通配符:
'users/{userId}/{messageCollectionId}/{messageId}'
只有当users
中的任何文档子集合中的文档被写入时才会触发(不是users
内的文档)。
您可以免费file a bug report获取您认为不正确的文档或样本。
答案 1 :(得分:0)
在云端功能中,您有4个触发器:
onWrite
onCreate
onUpdate
onDelete
您正在谈论的是onWrite
,并且每当您指定的位置发生任何更改时都会触发,在您的情况下此位置:
.document('users/{userId}')
如果您只是想在向集合添加任何内容时触发它,那么最好使用onCreate
触发器。