gpt4 book ai didi

database - Firebase - 使用云功能定位特定的 Firestore 文档字段

转载 作者:太空狗 更新时间:2023-10-30 01:47:22 24 4
gpt4 key购买 nike

将 Cloud Functions 与 Firebase 实时数据库结合使用时,您可以使用 Cloud Functions 定位特定字段。例如,给定此 JSON 结构,我可以使用 ('/user/{userId}/email').onUpdate 云函数来定位用户 1 的电子邮件字段何时更改。

{
“用户”:{
“用户1”:{
"name": "约翰·杜伊",
“电话”:“555-5555”,
“电子邮件”:“john@gmail.com”
}
}
}

现在使用 Firestore 似乎无法定位特定字段,只能定位文档。如果是这种情况,以电子邮件字段为目标的 Firestore 云函数必须如下所示,('/user/{userId}').onUpdate,并且每次 中的任何文档都会触发code>user 集合已更改。这将导致大量无用的云函数被触发。这就是 Firestore 的工作方式吗?是否有优雅的解决方法?

最佳答案

您是对的,由于不同的数据模型,Cloud Firestore 仅允许您在文档级事件而不是字段级触发 Cloud Functions。

一种方法是将电子邮件存储在单独的文档中(例如,在称为电子邮件的子集合中),因此更新电子邮件是唯一会触发的更改。不过,这确实需要您在每次需要电子邮件时阅读额外的文档。

另一种类似的方法是在同一个文档中仍然有它,但也将其写入子集合作为第二次写入来触发功能。使用电子邮件作为文档,并在文档中有一个时间戳字段,以便于清理旧文档(选择要删除的最旧的电子邮件文档,甚至可能在函数中)

关于database - Firebase - 使用云功能定位特定的 Firestore 文档字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46576393/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com