我在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());
}
});
});
我感到困惑还是这句话令人困惑? (或者......我发现了一个漏洞?大声笑)
答案 0 :(得分:1)
问题不在于选择以断开侦听器并重新连接新侦听器。问题是如果侦听器通过某种方式从您的控制中断开连接,例如网络不可用。
如果用户的设备处于非常不稳定的连接上(如果频繁出现可用性),请考虑您的查询可能有多昂贵。关键是要承认你不应该为你无法控制的条件付费。
但如果您只是反复查询数据库,那么您应该为此付出代价。