web-dev-qa-db-ja.com

Firestoreのオブジェクトのフィールドを更新しますか?

これは、Firebaseのネストされたオブジェクト内のフィールドを更新するためにドキュメントで提供されている例です。

var frankDocRef = db.collection("users").doc("frank");
frankDocRef.set({
name: "Frank",
favorites: { food: "Pizza", color: "Blue", subject: "recess" },
age: 12
});

// To update age and favorite color:
db.collection("users").doc("frank").update({
"age": 13,
"favorites.color": "Red"
})
.then(function() {
console.log("Document successfully updated!");
});

お気に入りを更新するのではなく、お気に入りに追加したいのですが、これを行う方法について誰かが正しい方向に教えてくれます。

したいとしましょう

firebase: "Help"
the the resulting favourites object should be
favorites: { food: "Pizza", color: "Blue", subject: "recess", firebase: "Help" },

ドット操作でsetを使用しましたが、代わりにすべてをオーバーライドします。

13
packability

エントリをセット(JavaScriptオブジェクト)に追加するには、DocumentReference.updateを使用します。

db.collection("users").doc("frank").update({
  "favorites.firebase": "Help")}
})

結果になります

favorites: { food: "Pizza", color: "Blue", subject: "recess", firebase: "Help" }
11
Shawn Lauzon