javascript - 使用 update() 将数据同时写入完全独立的位置

标签 javascript firebase firebase-realtime-database

在我的 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/

相关文章:

javascript - 在 <ul><li><a> 的第一级上获取没有 id 和 e.preventDefault() 的 <ul> 列表中的子 <ul>

swift - 如何进行Firebase CRUD操作?

android - 如何按升序对 Firebase 键进行排序?

javascript - Ember.js 处理子枚举的单个成员

Javascript 0 与空白

python - 仅监听 python 中的 cloud firestore 集合的添加内容

ios - Swift Firebase 在设置时获取 childByAutoId 键

android - 在 Firebase 中制作 POJO 时,可以使用 ServerValue.TIMESTAMP 吗?

javascript - 如何对 Angular 1.5 组件中的函数进行单元测试

android - 参数类型 'Stream<User?>' 不能分配给参数类型 'Stream<User>?'