Ale*_*der 7 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 => {
...
})
}Run Code Online (Sandbox Code Playgroud)
每个onSnapshot/的成本是多少unsubscribe:
例如,如果 1000 个用户中的每个用户在半小时内更新包含 20 个组件的页面 100 次,我将支付多少费用?
也许onSnapshot在整个collection组件上制作会更好?
在Firestore 文档中找到您需要的信息
监听查询结果
Cloud Firestore 允许您收听查询结果并在查询结果更改时获得实时更新。
当您收听查询结果时,每次添加或更新结果集中的文档时,您都需要支付一次读取费用。当某个文档因文档已更改而从结果集中删除时,您还需要支付读取费用。(相反,当文档被删除时,您无需支付阅读费用。)
另外,如果监听器断线超过 30 分钟(例如,用户下线),您将被收取读取费用,就像您发布了一个全新的查询一样
因此,每次更新集合中的记录时,所有订阅用户都将执行读取操作。您应该花时间估算您将拥有的活跃用户数量以及数据的数量/频率,这将有助于采用最适合您的应用程序的最便宜和最佳的解决方案。
我还添加了默认的Firebase 定价计算器,它位于页面底部,肯定会帮助您做出决定。