gpt4 book ai didi

Firebase Firestore 文档更改历史记录(如事件日志/每个文档更改的历史记录)

转载 作者:行者123 更新时间:2023-12-04 13:20:00 24 4
gpt4 key购买 nike

我正在尝试为我的文档制作一个事件日志系统或历史记录,因此每次在文档中修改一个字段时,我都想记录或保存它,这样我就可以看到每个文档的更改历史记录。

我怎样才能做到这一点?我不想在每次更改时都保存完整的文档,然后有大量重复的文档,如果可能的话,我只想获取更改后的字段(例如名称:'john' -> 名称:'jack')。

最佳答案

i don't want to save the full doc on each change and then have tons of duplicated docs

一旦文档发生变化,它就会成为一个新文档。因此,除非您对之前所做的更改进行更改,否则不会有重复的文档。另请注意,在 Cloud Firestore 中,没有字段级权限或对文档的访问权限。这是整个文档,或者什么都没有。因此,如果您想更改文档中的字段,例如:

userName = "John"

进入

userName = "Jack"

您将获得整个文档,而不仅仅是已更改的 userName 属性。

Cloud Firestore 监听器在文档级别触发。无法仅通过文档中的特定字段触发。

如果您只想收到特定字段的通知,请考虑添加一个额外的集合,其中包含仅包含这些字段的文档。这种数据重复在 Firestore 等 NoSQL 解决方案中很常见,为此,我建议您观看此视频,Denormalization is normal with the Firebase Database为了更好地理解。它适用于 Firebase 实时数据库,但同样的原则也适用于 Cloud Firestore。

对于数据库架构,您还可以从这个 post 中查看我的回答。 .

关于Firebase Firestore 文档更改历史记录(如事件日志/每个文档更改的历史记录),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54724971/

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