对同一文档的 Firestore batch.set() 是否算作一个文档写入?

Con*_*ejo 1 firebase google-cloud-platform google-cloud-firestore

如果我在我的代码中这样做

 function setShards(batch, docRef, numShards) {
    batch.set(docRef, { numShards } , { merge: true });
 }

 const batch = firestore.batch();

 batch.set(docRef, {data});
 
 setShards(docRef, 10);

 batch.commit();
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,在执行 .commit() 之前,我正在对同一文档进行批量设置。那么,这算作一个文档写入还是两个文档写入呢?

谢谢。

Dou*_*son 5

batch.set()不直接花费任何文档写入。它只是在发送到 Firestore 之前在本地排队更改。在您呼叫成功之前不会发生任何计费batch.commit()。届时,您将需要支付与整个批次中的更改数量相同的文档写入费用。因此,如果您在一批中仅写入一份文档,则将收取文档写入费用。