在我的firebase应用程序中,当新用户注册时,我将他们的初始数据(如displayname,emai,photourl)添加到顶级users
节点下的数据库中。这很好。
现在,当用户发布状态时,我想将帖子上传到顶级statuses
节点,其中保留所有用户状态。同时我想将帖子上传到当前用户的帖子节点,即users/currentuser/posts
。
我正在关注官方firebase网站here.
上显示的方法问题是当我点击帖子按钮时没有任何事情发生,没有数据发布到数据库
单击发布按钮时调用的函数:
function postStatus(){
var ref = firebase.database().ref("allstatuses");
var user = firebase.auth().currentUser;
var newStatusRef = ref.push();
var newStatusKey = newStatusRef.key();
var statusData = {
status: postInput.val(),
likes: 0,
dislikes: 0
};
var updateUserStatus = {};
updateUserStatus["users/" + user.uid + "/" + newStatusKey] = statusData;
updateUserStatus["allstatuses/" + newStatusKey] = statusData;
if(user){
firebase.database().ref().update(updateUserStatus);
}else{
alert("please login");
}
}
我做错了什么?
答案 0 :(得分:1)
根据API参考link,密钥不是密钥()
更改此
var newStatusKey = newStatusRef.key();
以强>
var newStatusKey = newStatusRef.key;