javascript - 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 快照
解决方案
如果 1 个文档在查询结果中发生更改,您将被计费 1 次阅读。您无需为未更改的单据付费。查询快照对象仅重用内存中来自先前结果集的文档数据。
推荐阅读
- excel - 重新标记图表系列集合
- ruby - 在 Sketchup 中使用 Ruby 复制浮点数
- javascript - React Native 和 Apollo:找不到变量:文档
- java - GridPane 元素最初超出边界,仅在调整窗口大小后才卡入到位
- flutter - 有没有办法在颤动中自动单击按钮?
- python - 如何在 PyCharm 远程 SSH 解释器 (SFTP) 中使用 opencv 使用网络摄像头 - Python
- bots - 是否可以创建一个松弛的日期时间选择器元素?
- android - ionic cordova android build error(cordova.cmd build android exited with exit code 1)
- arrays - 如何在 Python 中打印这个二维数组
- javascript - Javascript在循环中添加多个数组