首页 > 解决方案 > 当文档在设备外更新时,Firestore 的离线持久性如何表现?

问题描述

我正在阅读这个问题,我很担心。

道格在答案中所说的很有意义:持久性的重点是缓存文档,因此不需要将来读取。将来(从设备)更新文档后,缓存也会更新,你很好,一切正常,漂亮。

如果文档在设备外更新怎么办?

假设您有一个带有名称字段的用户文档,其值为“Doug”。此文档缓存在您的手机和您的应用程序中。

然后我们的用户转到您的应用程序的网络版本并将名称更改为“史蒂文森”。你的手机永远不会知道它,是吗?您手机的应用程序永远不会更新其缓存中的该文档,因为它不知道它已被更新,是吗?

这不意味着离线持久性不应该与多客户端应用程序一起使用吗?或者有没有办法解决这个问题?

注意:我不是在说手机离线。我说的是网上的电话。即使在线,根据我的实验,缓存也没有更新。仅当文档来自设备时才更新缓存。

标签: firebasegoogle-cloud-firestore

解决方案


你的手机永远不会知道它,是吗?

没错,由于手机离线,它不知道服务器上发生了什么。

您手机的应用程序永远不会更新其缓存中的该文档,因为它不知道它已被更新,是吗?

只要文档处于脱机状态,就永远不会更新文档。当重新上线时,手机将从 Firebase 服务器获取新数据。

这不意味着离线持久性不应该与多客户端应用程序一起使用吗?

这就是它的实际工作方式。


推荐阅读