我有一个网络应用程序,用户可以通过表单输入创建多个 firestore 文档。我正在成功使用 batch.commit() 将这些对象添加到集合中。
arrayOfObjectsFromForm.forEach((object) => {
var docRef = db.collection("CollectionName").doc();
batch.set(docRef, object);
})
await batch.commit().then(() => {
console.log("committed batch write to firestore!")
return alert("success")
});
Run Code Online (Sandbox Code Playgroud)
但是,在batch.commit()成功后,如果用户再次填写表单以创建另一组要写入的文档,则会出现错误:调用commit()后,无法再使用写入批处理。有没有办法连续多次调用batch.commit()?我认为在 batch.commit() 之后返回一个值会“清理”该函数以再次使用它,但仍然出现错误。
javascript firebase google-cloud-platform google-cloud-firestore