Firebase Firestore。 “费用” onSnapshot

时间:2018-07-19 18:13:23

标签: firebase vue.js google-cloud-firestore

我需要在页面上放置大约20个Vue组件。每个组件在安装后都会为自己创建一个onSnapshot,并在删除后创建unsubscribe()

const ref = firebase.firestore().collection('components').doc('comp1')

var unsubscribe = ref.onSnapshot(querySnapshot => {
  querySnapshot.forEach(doc => {
     ...
  })
}

每个onSnapshot / unsubscribe的成本是多少:

  1. 从执行时间的角度来看
  2. 从金钱的角度(根据Firebase的价格)

例如,如果每1000个用户在半小时内将一个包含20个组件的页面更新100次,我将支付多少费用?

也许最好在整个onSnapshot组件上制作collection

1 个答案:

答案 0 :(得分:0)

Firestore documentation

中找到了您需要的信息
  

收听查询结果

     

Cloud Firestore允许您收听查询结果并在查询结果更改时获取实时更新。

     

当您收听查询结果时,每次在结果集中添加或更新文档时,您都要付费。当文档从结果集中删除时,由于文档已更改,也会向您收费。 (相反,删除文档后,您无需支付阅读费用。)

     

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

因此,每次更新集合中的记录时,所有受限制的用户都将执行读取。您应该花些时间估算即将拥有的活跃用户数量以及数据数量/频率,这将有助于选择最适合您应用的最便宜和最佳解决方案。

我还将在页面底部添加默认的Firebase pricing calculator,肯定会帮助您做出决定。