我想更好地了解Firestore API中的哪些事件会触发计费。例如,下面的代码是一次读一次写还是只写一次?
db.collection("cities").doc("DC").update({ capital: true });在取回文档列表时,什么时候会对读取内容进行计费?例如:
const snapshot = await db.collection("cities").get();
snapshot.forEach((docRef) => console.log('First: ', docRef.data());
// ...execute some more code...
snapshot.forEach((docRef) => console.log('Second: ', docRef.data());在本例中,我对返回的数据快照进行了两次循环。计费是在.get()上进行还是在每个docRef.data()上进行?具体地说,在这些列表案例中,我试图弄清楚是否可以保留snapshot,或者是否应该将它们转换为普通的JSON对象。我知道文档和视频说不要优化计费,但同时我也想聪明一点,这样我以后就不用重构了。
发布于 2020-07-06 22:59:37
对于您的第一个代码片段,您将按单次文档写入操作收费。
对于读取操作,当服务器需要代表您读取文档时,您需要付费,在您的第二个代码片段中,当您调用get()时就会发生这种情况。因此,无论您多频繁地访问快照中的数据,snapshot中的每个文档都将收取一次费用。
发布于 2020-07-06 20:38:24
您只需支付一次费用,因为您只能获得一次文档。因此,在本例中,集合cities中的每个文档需要花费1次读取成本
https://stackoverflow.com/questions/62753873
复制相似问题