Angular 如何更新firebase文档而不覆盖现有值
下图显示了我的firebase db结构: 我想要的是根据指定的文档id使用新值更新文档Angular 如何更新firebase文档而不覆盖现有值,angular,typescript,firebase,google-cloud-firestore,Angular,Typescript,Firebase,Google Cloud Firestore,下图显示了我的firebase db结构: 我想要的是根据指定的文档id使用新值更新文档Phonebook条目,下面的代码将使用新值覆盖所有文档值,而不是更新 insertPhonebookEntry(entry: any) { if (entry.id) { this.db.collection('PhonebookEntries').doc(entry.id).set({ PhoneBook: { Name: entry.name, PhoneNumber: e
Phonebook
条目,下面的代码将使用新值覆盖所有文档值,而不是更新
insertPhonebookEntry(entry: any) {
if (entry.id) {
this.db.collection('PhonebookEntries').doc(entry.id).set({
PhoneBook: {
Name: entry.name,
PhoneNumber: entry.phonenumber
}
});
}
}
Phonebook
对象是一个数组,其映射值为name
和phonenumber
添加了一个新的
phonebook
对象,而现有的对象不更新。如果您只想无条件地将一个项目附加到数组中,则需要使用FieldValue.arrayUnion。我不知道角度绑定是什么,但核心文档在这里:
this.db.collection('PhonebookEntries').doc(entry.id).update({
PhoneBook: {
Name: entry.name,
PhoneNumber: entry.phonenumber
}
});