如何更新Firebase文档而不覆盖现有值

时间:2019-03-22 00:44:44

标签: angular typescript firebase google-cloud-firestore

该图显示了我的firebase数据库结构:

enter image description here

我要基于指定的doc id用新值更新文档Phonebook条目,以下代码用新值覆盖所有doc值,而不是进行更新。

insertPhonebookEntry(entry: any) {
if (entry.id) {
  this.db.collection('PhonebookEntries').doc(entry.id).set({
    PhoneBook: {
    Name: entry.name,
    PhoneNumber: entry.phonenumber
    }
  });
}

}

Phonebook对象是一个数组,其映射值为namephonenumber

enter image description here

1 个答案:

答案 0 :(得分:1)

Use update() instead of set().

  this.db.collection('PhonebookEntries').doc(entry.id).update({
    PhoneBook: {
      Name: entry.name,
      PhoneNumber: entry.phonenumber
    }
  });