Javascript 使用update()将数据同时写入完全不同的位置

Javascript 使用update()将数据同时写入完全不同的位置,javascript,firebase,firebase-realtime-database,Javascript,Firebase,Firebase Realtime Database,在我的firebase应用程序中,当新用户注册时,我将他们的初始数据(如displayname、emai、photourl)添加到顶级用户节点下的数据库中。这个很好用 现在,当用户发布状态时,我想将post上传到顶级状态节点,在该节点中保留所有用户状态。同时我想将帖子上传到当前用户的posts节点,即users/currentuser/posts 我遵循官方firebase网站上显示的方法 问题是当我点击post按钮时,什么都没有发生,也没有数据被发布到数据库中 单击post按钮时调用的My函数

在我的firebase应用程序中,当新用户注册时,我将他们的初始数据(如displayname、emai、photourl)添加到顶级用户节点下的数据库中。这个很好用

现在,当用户发布状态时,我想将post上传到顶级状态节点,在该节点中保留所有用户状态。同时我想将帖子上传到当前用户的posts节点,即users/currentuser/posts

我遵循官方firebase网站上显示的方法

问题是当我点击post按钮时,什么都没有发生,也没有数据被发布到数据库中

单击post按钮时调用的My函数:

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");   
    }

}

我做错了什么?

根据API参考,它是键而不是键

改变这个


如果你调用firebase.database.refallstatuses.childref.push.key.settrue,这是否成功写入数据库?@FrankvanPuffelen你的意思是我应该在哪里调用它?@FrankvanPuffelen yippeee,,,我解决了问题,我发布了答案,无论如何,非常感谢你的帮助。。。好的。我不敢相信我忽略了这一点。不管怎样:快乐的黑客!
var newStatusKey = newStatusRef.key();
var newStatusKey = newStatusRef.key;