我想知道,Firestore 如何处理深度嵌套对象的实时同步?具体来说,它是否只同步差异?
例如,我有一个应用程序状态,它只是一个包含 3 个值的数组,并且此状态在设备之间同步。如果我随后更改其中一个值,是同步整个新数组(在网络上传输)还是仅同步差异?如果我的状态是嵌套对象怎么办?
我问是因为我想同步整个状态,这是一个具有多个字段的对象,但是当我只更改单个字段时,我不会同步整个对象。
最佳答案
与实时数据库一样,Cloud Firestore 使用数据同步来更新任何连接设备上的数据。但是,它还旨在高效地进行简单的一次性获取查询。
默认情况下对查询进行索引:查询性能与结果集的大小成正比,而不是与数据集的大小成正比。
Cloud Firestore 只会向您的设备发送文件的差异。
提示:
添加查询以限制您的监听操作返回的数据并使用仅下载数据更新的监听器。
将您的监听器放在尽可能远的路径上,以限制它们同步的数据量。您的听众应该接近您希望他们获得的数据。不要监听数据库根目录,因为这会导致整个数据库的下载。
希望能帮助到你!
关于firebase - Firestore 同步仅不同吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50089835/