问题描述
如果我有以下情况:
const admin = require('firebase-admin')
const batch = admin.firestore().batch();
const counterRef = admin
.firestore()
.collection(COLLECTIONS.counters)
.doc('daily_counters')
batch.set(counterRef,{
counter_a: admin.firestore.FieldValue.increment(1),counter_b: admin.firestore.FieldValue.increment(1),counter_c: admin.firestore.FieldValue.increment(1)
},{ merge: true });
batch.commit();
在计费方面,以上是否算作 3 次写入或 1 次写入?
解决方法
一次写入,因为它写入一个文档。您在这里甚至不需要批处理,因为它只是一个文档。单个设置/更新将具有相同的效果。使用批处理的主要原因是同时原子地写入多个文档,或者如果出现任何故障则完全回滚。