firebase - Firestore 同步仅不同吗?

标签 firebase google-cloud-firestore

我想知道,Firestore 如何处理深度嵌套对象的实时同步?具体来说,它是否只同步差异?

例如,我有一个应用程序状态,它只是一个包含 3 个值的数组,并且此状态在设备之间同步。如果我随后更改其中一个值,是同步整个新数组(在网络上传输)还是仅同步差异?如果我的状态是嵌套对象怎么办?

我问是因为我想同步整个状态,这是一个具有多个字段的对象,但是当我只更改单个字段时,我不会同步整个对象。

最佳答案

与实时数据库一样,Cloud Firestore 使用数据同步来更新任何连接设备上的数据。但是,它还旨在高效地进行简单的一次性获取查询。

默认情况下对查询进行索引:查询性能与结果集的大小成正比,而不是与数据集的大小成正比。

Cloud Firestore 只会向您的设备发送文件的差异。

提示:
添加查询以限制您的监听操作返回的数据并使用仅下载数据更新的监听器。

将您的监听器放在尽可能远的路径上,以限制它们同步的数据量。您的听众应该接近您希望他们获得的数据。不要监听数据库根目录,因为这会导致整个数据库的下载。
希望能帮助到你!

关于firebase - Firestore 同步仅不同吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50089835/

相关文章:

swift - 如果帐户不在身份验证数据库中,是否有任何方法可以禁用帐户创建?

ios - 卸载应用程序后注销用户 - Firebase

android - 删除 Firestore 集合中的所有文档

javascript - 从 Firestore 获取记录进行分页 - Ionic/Angular

javascript - 无法修改已提交 FireStore 的 WriteBatch

firebase - Flutter Streambuilder 不断重建

Firebase 实时数据库 : What's the right security rule for a landing page?

android - 在将其保存到数据库之前如何比较以前的值与当前值?

firebase - 是否需要更改软件包名称?

javascript - 如何使用 firestore TIMESTAMP 在 JavaScript 中创建时间戳