如何仅从Firestore中的缓存读取数据?

时间:2020-05-21 11:03:15

标签: firebase google-cloud-firestore

我在这里阅读了关于stackoverflow的一些答案,据说,每次我们从Firestore获取文档时,即使没有更改任何文档,SDK仍会尝试获取文档的在线版本。结果是需要支付更多的阅读费用,我认为这是没有必要的,因为什么都没有改变。

我要实现的目标

假设一个有5个文档的集合。当用户第一次打开该应用程序时,我要支付5次读取。但是,当用户第二次打开该应用程序时,我只想仅对已更改的文档进行读取操作。如果什么都没有改变,我不想进行任何读取,我只想从缓存中读取数据。这可能吗?

1 个答案:

答案 0 :(得分:1)

您的问题中的关键词是:

如果什么都没有改变,我不想支付任何费用,

要确定缓存中的文档是否有所更改,Firestore服务器将需要读取这些文档。因此,您将为这些读取付费。

解决此问题的唯一方法是控制自己过滤更改的文档。

例如,如果您在每个文档中都包含一个lastModified字段,则可以使用该字段从服务器中仅检索新的/修改的文档,然后通过以下方式对本地缓存运行其他读取操作: specifying source options