我在Firestore帮助document中遇到了以下这句话让我感到困惑 .
“此外,如果监听器断开超过30分钟(例如,如果用户离线),则会向您收取读取费用,就好像您已发出全新查询一样 . ”
- 这是否意味着如果我在30分钟内断开监听器并再次连接,那么在再次连接监听器后我将不会被收取费用?想象一下,如果我重新连接查询并再次检索20个文档(change.type ===“added”) .
db.collection("cities").where("state", "==", "CA")
.onSnapshot(function(snapshot) {
snapshot.docChanges.forEach(function(change) {
//imagine 20 documents are fetched when I listen.
if (change.type === "added") {
console.log("New city: ", change.doc.data());
}
});
});
我感到困惑还是这句话令人困惑? (或者......我发现了一个漏洞吗?哈哈)
1 回答
问题不在于您选择断开侦听器并重新连接新侦听器 . 问题是如果监听器通过某种方式断开连接,例如网络不可用 .
想想如果用户的设备处于非常不稳定的连接上,那么您的查询可能会有多昂贵 . 关键是要承认你不应该为你无法控制的条件付费 .
但是,如果你只是要反复查询你的数据库,那么你应该为此付出代价 .