使用持久性监听查询

时间:2019-07-09 15:06:44

标签: firebase google-cloud-firestore

根据Firestore documentation

  

Cloud Firestore允许您收听查询结果并获取   查询结果更改时实时更新。当你听   查询的结果,每次向您收取文档费用   结果集已添加或更新。您还需要为阅读付费   当文档从结果集中删除时,因为该文档   已经改变。 (相反,删除文档时,您不是   收取阅读费用。)

     

此外,如果侦听器断开连接超过30分钟(对于   例如,如果用户离线),您将被收取以下费用:   如果您发出了全新的查询。

但是对于一个文档的行为和定价尚不清楚。如果持久性为ENABLE,并且侦听器断开连接超过30分钟。

因此,如果我打开侦听器并且文档没有变质,我将再次以minimum charge的价格收费?

1 个答案:

答案 0 :(得分:1)

  

那么,如果我打开监听器并且文档没有变质,我将再次以最低费用定价吗?

如果启用了离线持久性(这在Firestore中是默认设置)并且文档未更改,则将从缓存中执行读取操作。 以任何方式收取来自缓存的读取。

但是,如果断开连接超过30分钟,并且一旦您再次开始收听,就会执行新的查询,尤其是检查断开连接时集合中的某些文档是否已更改。例如,如果在数据库中更改了两个文档,则将向您收取两次读取操作的费用,如果查询没有返回结果(未更改任何文档),则将仅向您收取一次读取操作的费用。这是查询本身所需的。