【问题标题】:Concurrency, offline persistence and get()并发、离线持久化和get()
【发布时间】:2017-11-28 14:18:25
【问题描述】:

我有一个关于理论情况以及 Firestore JS SDK 如何处理它的问题。

设置是:

  • 我们已启用离线持久性。
  • 我们离线
  • 上线后我们需要立即从集合 A 中get()

我会夸大数字以使情况更容易掌握。

步骤

  1. 离线时,我们将 1000000 个文档添加到集合 A。
  2. 我们重新上线,假设 Firestore 开始将本地数据从 Collection A 同步到服务器,这需要一段时间。
  3. 我们从集合 A 中执行 get(),而 Firestore 可能尚未完成同步。

会发生什么?这里的假设是,当 Firestore 检测到我们再次在线时,它会尝试从在线数据库中找到的 Collection A 中获取文档,因此可能会错过一些仍在同步的文档第 2 步。

Firebase 工程师能否说明在这种情况下会发生什么?

【问题讨论】:

    标签: javascript firebase google-cloud-firestore


    【解决方案1】:

    本地客户端将始终看到自己的更改。因此,即使您处于离线状态,它也会看到您在本地集合中所做的更改。当您重新联机时,它也会在本地看到所做的更改,无论这些更改是否已同步到服务器。

    【讨论】:

    猜你喜欢
    • 2012-02-08
    • 1970-01-01
    • 2019-03-06
    • 2021-10-27
    • 2019-05-22
    • 2019-02-08
    • 2018-04-17
    • 2020-11-15
    • 1970-01-01
    相关资源
    最近更新 更多