创建新记录始终为null firebase

时间:2018-04-27 03:13:43

标签: firebase firebase-realtime-database

我正在使用firebase 4.12.0,我正在尝试获取database.Reference对象的值。

我执行以下操作:

    var ref = new Firebase(FBURL + 'collaboration_songs');
    var newCollab = ref.push();
    newCollab.set({songs: {}});
    var id = newCollab.key();
    console.log("added record with id " + id);
    ref.child(id).once("value").then(function(data){
      var val = data.val();
      console.log(val, ' why is this null');
    });

我知道它创建了密钥,因为我记录了密钥并且它看起来合法。数据,我看不懂。请帮忙。

1 个答案:

答案 0 :(得分:1)

你没有读任何东西,因为你实际上并没有写任何东西。这段代码:

newCollab.set({songs: {}});

服务器什么都不写,因为任何键后面都没有值。如果某个键没有值,则它在实时数据库中根本不存在。一个空对象,就像你正在传递的那样,没有键或值。此外,生成的随机推送ID实际上是在服务器上的客户端上生成的,因此即使它看起来“合法”,也不意味着服务器做了任何事情。

为什么不尝试编写实际值呢?

newCollab.set({songs: "an actual value"});

此外,您应该检查Firebase控制台中的值,以确保它实际上写了您所期望的内容。

相关问题