首页 > 解决方案 > Firebase Firestore 快照读取计数

问题描述

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

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

医生说

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

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

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

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

标签: javascriptfirebasegoogle-cloud-firestore

解决方案


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


推荐阅读