Firebase Firestore 文档更改历史记录(例如每个文档中的活动日志/更改历史记录)

2023-12-24

我正在尝试为我的文档创建一个活动日志系统或历史记录,因此每次修改文档中的字段时,我都想记录或保存它,以便我可以在每个文档上进行更改后查看历史记录。

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


我不想在每次更改时保存完整的文档,然后有大量重复的文档

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

userName = "John"

into

userName = "Jack"

您将获得整个文档并not只有userName已更改的属性。

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

如果您只想收到特定字段的通知,请考虑添加一个额外的集合,其中包含仅包含这些字段的文档。这种数据重复在 Firestore 等 NoSQL 解决方案中非常常见,为此,我建议您观看此视频,Firebase 数据库非规范化是正常现象 https://www.youtube.com/watch?v=vKqXSZLLnHA为了更好的理解。它适用于 Firebase 实时数据库,但相同的原则也适用于 Cloud Firestore。

对于数据库模式,您还可以看看我的回答post https://stackoverflow.com/questions/53442460/firestore-version-history-of-documents/53445752.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Firebase Firestore 文档更改历史记录(例如每个文档中的活动日志/更改历史记录) 的相关文章

随机推荐