我想知道,Firestore如何处理深层嵌套对象的实时同步?具体来说,它是否只同步差异?
例如,我有一个app状态,它只是一个包含3个值的数组,并且这个状态在设备之间同步。如果我然后改变其中一个值将整个新数组同步(在网络上传输)或只有差异?如果我的状态是嵌套对象怎么办?
我问,因为我想要同步整个状态,这是一个具有多个字段的对象,但是当我只改变单个字段时,我不会同步整个对象。
答案 0 :(得分:0)
与实时数据库一样,Cloud Firestore使用数据同步来更新任何连接设备上的数据。但是,它还可以有效地进行简单的一次性提取查询。
默认情况下对查询编制索引:查询性能与结果集的大小成比例,而不是数据集。
Cloud Firestore只会向您的设备发送文档的差异。
提示: 添加查询以限制侦听操作返回的数据,并使用仅下载数据更新的侦听器。
尽可能将侦听器放在路径尽可能限制它们同步的数据量。您的听众应该接近您希望他们获得的数据。不要在数据库根目录中监听,因为这会导致整个数据库的下载。 希望它有所帮助!