我正在尝试使用AngularFire2和Angular 4更新Firebase中的用户。在已保存到Firebase数据库的用户对象中,我想将另一个对象插入到数组属性中。在我的服务中,我正在尝试执行此功能(我已经在按键等中拥有了所有内容)
generateUserCharacterList(){
this.genCharList = new CharacterList(x, y, z)
this.UserListOfCharacters.push(this.genCharList)
//Other code...
}
但这不起作用
答案 0 :(得分:0)
Update specific fields文档指出了.update
方法的使用。
function writeNewPost(uid, username, picture, title, body) { // A post entry. var postData = { author: username, uid: uid, body: body, title: title, starCount: 0, authorPic: picture }; // Get a key for a new Post. var newPostKey = firebase.database().ref().child('posts').push().key; // Write the new post's data simultaneously in the posts list and the user's post list. var updates = {}; updates['/posts/' + newPostKey] = postData; updates['/user-posts/' + uid + '/' + newPostKey] = postData; return firebase.database().ref().update(updates); }
答案 1 :(得分:0)
与Firestore相比,我正在考虑使用Firebase实时数据库。
您应该将数组的值放在一个变量中,更改该值,然后使用该新值在对象ref上调用update方法。这是解释的代码示例:
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});