【问题标题】:Firestore pricingFirestore 定价
【发布时间】:2019-06-17 09:43:40
【问题描述】:

有几个关于这个主题的问题,但我找不到能回答我的问题的问题。至于described here,对于最低收费是否适用于query.get()或实时听众也没有明确的解释。引用:

对于您执行的每个查询,即使查询未返回任何结果,也需要读取一个文档的最低费用。

问这个问题的原因即使对某人来说似乎很明显是由于该部分; *for each query that you perform* 在该语句中可能意味着一次性触发,例如使用 get() 方法。

场景:如果有 10 个用户在使用查询(即query.addSnapshotListener())收听集合中的更改,则更改发生在一个匹配只有两个用户的查询过滤器的文档中,其他八个是否也收取一次阅读费用?

使用的数据库: Firestore

【问题讨论】:

  • 要澄清计费问题,您应该直接联系 Firebase 支持。 firebase.google.com/support/contact
  • 应该指出您说您使用的数据库是 Firestore,但您在帖子上的标签是用于 firebase-realtime-database。

标签: firebase google-cloud-firestore


【解决方案1】:

在这种情况下,我会说不,其他八个不会被计为读取,因为他们正在侦听的文档尚未更新或尚未根据其过滤器(查询参数)从该集合中添加/删除。读取不是基于对集合的更改,而是基于您专门收听的文档流的更改。因为那 1 个文档更改不是其他 8 个用户正在收听的文档的一部分,所以他们没有新的阅读。但是,如果该 1 个文档更改导致该文档现在匹配其他 8 个查询过滤器,那么是的,这些用户将有 8 个新读取。希望这是有道理的。

另外值得注意的是,通过 sdk 和 firestore 的缓存启用 offlinePersistence 等功能可以最大限度地提高限制读取的效率,以及使用应用程序中的多个实例订阅的单例 Observable,而不是打开同一查询的多个流整个应用程序。并不真正适用于这个问题目录,但同样值得一提。

【讨论】:

    猜你喜欢
    • 2018-03-26
    • 2018-07-27
    • 1970-01-01
    • 2021-01-16
    • 1970-01-01
    • 1970-01-01
    • 2021-06-13
    • 2019-10-29
    • 2019-06-16
    相关资源
    最近更新 更多