【发布时间】:2020-02-04 06:10:04
【问题描述】:
我试图实现这样一种场景,即 firebase 仅在创建集合时触发一次,而不是在每次将文档添加到集合时触发。假设我希望它仅针对添加到集合中的第一个文档触发,而不是针对添加到同一集合中的所有其他文档触发。怎么可能呢?请帮忙!!!
【问题讨论】:
标签: firebase google-cloud-firestore google-cloud-functions
我试图实现这样一种场景,即 firebase 仅在创建集合时触发一次,而不是在每次将文档添加到集合时触发。假设我希望它仅针对添加到集合中的第一个文档触发,而不是针对添加到同一集合中的所有其他文档触发。怎么可能呢?请帮忙!!!
【问题讨论】:
标签: firebase google-cloud-firestore google-cloud-functions
Cloud Functions 没有这样的触发器。您的触发器路径必须只指定一个文档,或者使用通配符来指定可能匹配多个文档的路径。
如果您想知道一个集合包含它的第一个文档,您必须:
这两者都需要大量的额外代码 - 对任意集合正确实现非常不容易。他们也可能在重负载下遇到问题。如果这些选项对您不起作用,我建议您想出另一种方法让您在正确的时间触发。
【讨论】:
虽然不能直接做。您可以检查集合是否包含任何元素,如果存在则表示它存在。
const result =await firestore.collection("collection").limit(1).get()
if(result.size){
// Collection exists
}
【讨论】: