我已经查看了https://firebase.google.com/docs/firestore/manage-data/add-data#update-data处的文档。
我有一个个人资料页面,个人可以在其中更新特定内容,即电话号码。
即使我正在使用update
,也可以在单击“提交”按钮时替换个人资料页面中的所有内容。我只希望更新与Firebase中不同的数据。我该怎么做?
const profileData = {
optInTexts: this.form.optInTexts,
optInWhatsappMessages: this.form.optInWhatsappMessages,
subscribeToMailingList: this.form.subscribeToMailingList,
phoneWhatsapp: e164Whatsapp,
phone: e164,
workerSkills: this.form.workerSkills
};
const profileRef = await db.collection('users')
.where("uid", "==", this.userId)
.get()
.then(snapshot => {
snapshot.forEach(function (doc) {
db
.collection("users")
.doc(doc.id)
.update({...profileData});
});
});
答案 0 :(得分:0)
您可以将set方法与{ merge: true }
一起使用,如下所示:
ref.set({
...profileData
}, { merge: true });