firebase - 从 Firebase 控制台手动删除文档而不删除子集合时,我应该怎么做才能触发 onDelete firebase 函数?

标签 firebase google-cloud-firestore google-cloud-functions

最近我创建了一个 firebase 函数代码,它在 Firestore 中删除某些文档时触发。当我以编程方式删除文档时它工作得很好,但是当我从 Firebase 控制台删除文档时它不起作用。
实际上,即使文档数据被删除,我在文档中也有我需要的子集合。所以从 firebase 控制台我不能“删除文档”,但我需要“删除文档字段”,这将阻止删除我的子集合。
此外,当我以编程方式删除带有子集合的文档时,它只会删除文档字段,而不是带有子集合的整个文档。
那么为什么在以编程方式删除文档时触发 onDelete 而不是从 firebase 控制台删除文档字段时触发。 第一张图片是以编程方式删除的文档,第二张图片是我从 firebase 控制台删除的文档。
从 Firebase 控制台手动删除文档时,我应该怎么做才能触发 onDelete firebase 功能不删除子集合 ?
This is the document that was deleted programmatically
This is the document that was deleted manually from firebase console

最佳答案

虽然 Firestore 文档中没有提到这一点,但 Firestore 的事件触发器不会由控制台中手动进行的更改触发。
这样做的原因是,在一天结束时,应该避免手动更改以保持数据完整性,特别是如果您处于应用程序开发阶段,已经有事件触发器来使数据库卫生。
如果您希望在 Firestore 文档中明确说明这一点,您可以在 Google's issue tracker 中打开一个请求。以便它可以完成,或者您可以打开功能请求,以便 Firestore 触发器的此功能被考虑用于 Firestore 的下一个版本。

关于firebase - 从 Firebase 控制台手动删除文档而不删除子集合时,我应该怎么做才能触发 onDelete firebase 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66236071/

相关文章:

swift - 查询 Firebase Firestore 帖子的最有效方法

ios - 由于未捕获的异常 'NSInternalInconsistencyException' 而终止应用程序,原因 : 'FCM error: cannot have last checkin timestamp in future'

javascript - MongoDB 集群中的 IP 白名单 Firebase 云函数

firebase - 在 Firebase 上验证用户电子邮件后是否需要登录?

javascript - 调用 FireStore 的函数始终返回未定义

javascript - 如何在 Firestore 中创建具有可靠时间戳的文档?

javascript - JS Currying 一个静态函数

gcloud - 部署谷歌云功能的服务帐户角色

google-cloud-functions - 从 Google 云功能调用 gsutil 或 gcloud?

android - 在一个风格/目标中使用多个 google-services.json 和 GoogleService-Info.plist 文件