【问题标题】:Conflicting firestore event triggers under same location在同一位置发生冲突的 Firestore 事件触发器
【发布时间】:2018-07-30 15:19:38
【问题描述】:
这是我刚刚在 firebase 云函数 firestore 触发器中注意到的一种行为。
假设我有两个 Firestore 触发器:
1)
文档.write
/users/{userId}/offers/{offerId}/seekers/{seekerId}
2)
文档.write
/users/{userId}/offers/{offerId}
第二个触发器在这两种情况下都会执行,是因为通配符 {offerId} 匹配到 seekers/{seekerId} 吗?
任何帮助都会很棒
问火力基地
【问题讨论】:
标签:
firebase
google-cloud-firestore
google-cloud-functions
【解决方案1】:
不可能通过修改单个文档来触发您应该触发的两个触发器。那是因为您的通配符路径只能识别两个不同的文档。
也就是说,一个由这个路径标识的文档:
/users/{userId}/offers/{offerId}/seekers/{seekerId}
永远不会与此路径标识的文档相同:
/users/{userId}/offers/{offerId}
Firestore 中的文档不“包含”其他文档。 Firestore 中的文档甚至不“包含”其他集合。它们都是完全相互独立的。由于您在控制台中看到的组织,他们似乎只是有关系。它只是您自己的心理模型的组织。