Firebase Firestore 快照读取计数

l1b*_*rty 8 javascript firebase google-cloud-firestore

我正在尝试优化我的应用程序在 Firesbase 上的读取次数,并检查我使用快照监控实时变化的方式。想象一下,我有一个返回 10 个最新文档的快照,如下所示:

db.collection("cities")
.where("state", "==", "CA").
.orderBy('dateadded', 'desc').limit(10)
.onSnapshot(function(snapshot) {
    ...
})
Run Code Online (Sandbox Code Playgroud)

医生说

每次查询结果发生更改(即添加、删除或修改文档时),快照处理程序都会收到新的查询快照。

这是否意味着每次查询更改时我都会按 10 次读取付费?在此示例中,如果添加了一个新城市(因此使用最新的“添加日期”,因此在查询中排在第一位)将是 1(仅是新城市)还是 10 次读取(完整查询)。

作为一个附带问题,我可以看到我所在的确切读取次数(实时,这样我可以测试一个函数并查看相应的读取次数)。IAM 和管理/配额似乎在“每天读取请求”下提供了这一点,但它不是实时的......

我指的是https://firebase.google.com/docs/firestore/query-data/listen中所述的 Firestore 快照

Dou*_*son 11

如果查询结果中有 1 个文档发生更改,您将按 1 次阅读付费。您无需为未更改的文档付费。查询快照对象仅重用内存中先前结果集的文档数据。

  • 这只是部分正确,只要客户保持连接,您就不需要为未更改的文档付费。来自官方文档: *此外,如果监听器断开连接超过 30 分钟(例如,如果用户离线),您将被收取读取费用,就好像您发出了全新的查询一样。*。所以要小心来源:https://firebase.google.com/docs/firestore/pricing#operations (2认同)