如何在Source.CACHE中删除特定的消防仓库文档



如果我想从firestore获取数据,我可以指定源,默认情况下,从服务器或缓存获取数据,如下所示:

query.get(Source.CACHE)

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

怎么做?有可能吗?

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

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

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

如果您有步骤显示内部缓存存在某种错误或与服务器内容不一致,请向Firebase支持提交一份错误报告,该报告现在显示,以重现问题。

我想从缓存中的查询中删除一个特定的文档,所以我只想得到49个文档。

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

最新更新