我正在尝试为我的文档创建一个活动日志系统或历史记录,因此每次修改文档中的字段时,我都想记录或保存它,以便我可以在每个文档上进行更改后查看历史记录。
我怎样才能做到这一点?我不想保存每次更改的完整文档,然后有大量重复的文档,如果可能的话,我只想获取更改后的字段(例如名称:“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(使用前将#替换为@)