Cloud Firestore有此限制:
“每个数据库每秒最大写入量为10,000(每秒 10 MiB )”
https://firebase.google.com/docs/firestore/quotas
我想知道每秒 10 MiB 的限制是如何工作的。
假设我有一个文档doc
,该文档为 100 KB
我运行的事务中,我只想更新doc
的 1 KB
update
(传递整个对象)doc.foo.bar = calculateNewBar(doc.foo.bar)
t.update(docRef, doc);
update
(定位到特定字段)t.update(docRef, {
"doc.foo.bar": calculateNewBar(doc.foo.bar),
});
set
(传递整个对象)doc.foo.bar = calculateNewBar(doc.foo.bar)
t.set(docRef, doc);
set
(带有合并)t.set(docRef, {
doc: { foo: { bar: calculateNewBar(doc.foo.bar) } },
}, {
merge: true,
});
哪种方法最有效?
Cloud Firestore是否可以智能地计算上述所有4种情况下的差异,仅写入 1 KB ?
还是1和3写入整个 100 KB ,而2和4写入整个 1 KB ?