Firebase Firestore如何考虑文档写入?

时间:2020-08-07 14:09:55

标签: javascript google-cloud-firestore

我想举例说明我的问题。 示例-我有一个名为“ USERS”的集合,并且有一个名为“ ISURU”的文档。 “ ISURU”文档具有3个字段,分别名为User_name,User_age和User_gender。

第一个问题-我将同时为这些字段设置数据,如下所示:

db.collection("USERS").doc("ISURU").set({
User_name: "ISURU",
User_age: "22",
User_gender: "Male"

}).then(function(){console.log("Document successfully written!");)};

如果我要像上面那样向Firestore添加数据,他们是否将其视为3次写入还是一次文档写入,因为他们提到数据是Understand Cloud Firestore billing中的文档写入?

第二个问题-试想一下,是否要使用{ merge: true }将上面的数据字段添加到Firestore中,如下所示:

function doA(){

var cityRef = db.collection('USERS').doc('ISURU');
cityRef.set({
User_name: "ISURU"
}, { merge: true });
}

function doB(){
var cityRef = db.collection('USERS').doc('ISURU');
ityRef.set({
User_age: "22"
}, { merge: true });
}

function doC(){
var cityRef = db.collection('USERS').doc('ISURU');
ityRef.set({
User_gender: "Male"
}, { merge: true });
}

如果我要同时运行上述功能,那算不算3次写?

1 个答案:

答案 0 :(得分:3)

是,不是。第一个被视为单个文档写入,而与字段数无关,第二个被视为3个不同的写入(每次调用set / update / create时都是一次写入)

顺便说一句:我应该指出,您无需通过将合并设置为true来调用doc(...).set({...}, { merge: true }),只需调用doc(...).update({...})

就可以实现相同的部分更新(添加额外的字段)