目前这是我的firebase数据库的外观。
我正在尝试执行更新,当我点击like
按钮时,用户将出现在liked
属性中(上面的第二个)。目前它只是硬编码,但代码并没有完全按照我的意愿去做。
function liked(name, useruid, user_liked){
var postData = {
name: name,
useruid: useruid,
user_liked: user_liked
};
var newPostKey = firebase.database().ref().child('users').push().key;
var updates = {};
updates['/users/' + name + '/' + '/liked/' + user_liked] = postData;
return firebase.database().ref().update(updates);
}
我用liked(current_user_name, user_array[i].useruid, 'Hannah')
我希望liked: "liked
属性可以阅读liked: "liked", "Hannah"
但是,它会执行以下操作:
它添加了我不想要的信息,而不是添加到数组,它已经改变了它。它必须是一个微小的变化,但我不能看到它
在更新前导出json:
{
"users" : {
"rich" : {
"gender" : "male",
"liked" : "liked",
"name" : "rich",
"not_liked" : "liked",
"username" : "rich@rich.com",
"useruid" : "5xO85K2EBOS6Itj7lKoGafm19i02"
}
}
}
更新后导出json:
{
"users" : {
"rich" : {
"gender" : "male",
"liked" : {
"Hannah" : {
"name" : "rich",
"user_liked" : "Hannah",
"useruid" : "5xO85K2EBOS6Itj7lKoGafm19i02"
}
},
"name" : "rich",
"not_liked" : "liked",
"username" : "rich@rich.com",
"useruid" : "5xO85K2EBOS6Itj7lKoGafm19i02"
}
}
}