用于查询的 Firebase firestore 定价

Jam*_*med 5 firebase google-cloud-platform google-cloud-firestore

假设我的集合中有20个文档,每个文档都有一个字段,其中包含用于查询的视图数。下面的例子

collection
     |_document
             |_views: 100
     |_document
             |_views: 600
     |_document
             |_views: 10
Run Code Online (Sandbox Code Playgroud)

后来我查询文档以返回前 5 个最高浏览次数。现在我的问题是,我将按 20 次文档读取还是 5 次文档读取收费

Ren*_*nec 5

此 Firestore 文档(“监听查询结果”部分)将为您提供答案:

当您侦听查询结果时,每次添加或更新结果集中的文档时,您都需要支付读取费用。当文档因文档已更改而从结果集中删除时,您还需支付读取费用。(相比之下,删除文档后,您无需支付阅读费用。)

此外,如果侦听器断开连接超过 30 分钟(例如,如果用户离线),您将需要支付读取费用,就像您发出了全新的查询一样。

换句话说,如果您的查询将返回的文档数量限制为 5(例如使用limit(),如此处所述,您只需为 5 次文档读取付费(除非您使用侦听器 - 而不是 get() - 并且文档是创建/修改/删除并更改前 5 个,或者除非您遇到上述 30 分钟断开连接的特定情况)。

另一方面,如果您在客户端过滤前 5 个文档,那么在收到整套文档后,显然您将需要支付全套文档的费用。