首页 > 解决方案 > 如何更新 Firebase 特定属性中的对象?

问题描述

我正在尝试使用 Angular 4 和 AngularFire2 更新 Firebase 中的用户。在保存到 firebase 数据库的用户对象中,我想将另一个对象插入到数组属性中。在我的服务中,我正在尝试执行此功能(我已经拥有钥匙等所有内容)

generateUserCharacterList(){
  this.genCharList = new CharacterList(x, y, z)
  this.UserListOfCharacters.push(this.genCharList)
  //Other code...
}

这虽然行不​​通

标签: javascriptangularfirebaseangularfire2

解决方案


与firestore相比,我正在考虑您使用的是firebase实时数据库。

您应该在变量中获取数组的值,更改该值,然后使用该新值调用对象 ref 的更新方法。这是解释的代码示例:

let userRef = db.object('users/aad1asd123-123asd');
let user = userRef.valueChanges();
let listOfChars = user.listOfChars;

listOfChars.push('a');
listOfChars.push('b');
listOfChars.push('c');
listOfChars.push('d');

userRef.update({listOfChars: listOfChars});

推荐阅读