在我的 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");
}
}
我做错了什么?
最佳答案
根据API引用link这是关键而不是关键()
更改此
var newStatusKey = newStatusRef.key();
至
var newStatusKey = newStatusRef.key;
关于javascript - 使用 update() 将数据同时写入完全独立的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42973735/