【问题标题】:how to delete specific firestore document in Source.CACHE?如何删除 Source.CACHE 中的特定 Firestore 文档?
【发布时间】:2019-11-16 04:08:08
【问题描述】:

我可以指定来源如果我想从 firestore 获取数据,无论是默认值、服务器还是缓存,如下所示:

query.get(Source.CACHE)

如果使用上面的代码,我通常会得到 50 个文档。现在我想从缓存中的查询中删除一个特定的文档,所以我只想得到 49 个文档。

怎么做?有可能吗?

【问题讨论】:

    标签: firebase google-cloud-firestore


    【解决方案1】:

    您无法直接控制 Firebase SDK 维护的内部缓存的状态。您不能删除或使特定项目无效。

    缓存完全由 SDK 管理。 SDK 根据文档是否与服务器同步来确定何时添加或删除文档。

    您可以使用 SDK 删除文档,这会将其从缓存结果中删除。但该删除最终会与服务器同步,这是永久性更改。

    如果您有步骤显示内部缓存存在某种错误或与服务器的内容不一致,那么现在显示的file a bug report with Firebase support 会重现该问题。

    【讨论】:

      【解决方案2】:

      我想从缓存中的查询中删除一个特定文档,因此我只想获取 49 个文档。

      您无法在delete() 操作中指定它。如果您想获得这种行为,您的设备应该处于离线状态。这样,Firestore 将从本地缓存中删除记录。但请注意,一旦您重新连接,您的记录也会从 Firebase 服务器中删除。在线时,您无法在缓存中而不是从 Firebase 服务器中删除文档。

      【讨论】:

        猜你喜欢
        • 2021-08-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-03
        • 2018-04-27
        • 2020-12-16
        • 2020-08-14
        相关资源
        最近更新 更多