【发布时间】:2019-11-03 01:14:03
【问题描述】:
https://firebase.google.com/docs/firestore 说:
与实时数据库一样,Cloud Firestore 使用数据同步来更新任何连接设备上的数据。
我正试图弄清楚这个“数据同步”是由什么组成的。
https://firebase.google.com/docs/firestore/manage-data/enable-offline 说:
启用持久性后,Cloud Firestore 会缓存从后端接收到的每个文档以供离线访问。
Cloud Firestore 是否会在后端发生更改时更新该缓存? 例如,如果我的缓存中有某个文档,该文档是否 更新(a)在后端更改该文档时自动更新或 (b) 每当我使用该文档进行查询时,我恰好在线 当时?
更新
我要重述我的最后一段,因为它被误解了 至少一个人。
想象以下场景:
- 我有一部智能手机。为方便起见,假设智能手机 一直在线。
- 此智能手机上安装了一个包含 Firestore SDK 的移动应用。
- 该应用已启用 Firestore 缓存。
- 缓存包含例如 1000 个文档。
现在我的问题是:如果这些文档之一在云中更改(而不是 智能手机),在什么情况下 Firestore SDK 会更新 缓存中的文档?它会(a)很快自动更新文档吗 在云上进行更改之后,或 (b) 下次更新文档时 移动应用执行使用文档的查询?
【问题讨论】:
-
虽然我手头没有任何链接,但我很确定我已经多次听到 B) 会发生什么。例如,客户端上的每个 Firestore 更新都算作计费读取。因此,您需要有一种方法来控制它。我认为这一切都是有道理的,那里没有魔法。只有当您进行查询(或者可能监听 on change 监听器)时,缓存才会更新。
标签: firebase google-cloud-firestore