我正在使用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');
});
我知道它创建了密钥,因为我记录了密钥并且它看起来合法。数据,我看不懂。请帮忙。
答案 0 :(得分:1)
你没有读任何东西,因为你实际上并没有写任何东西。这段代码:
newCollab.set({songs: {}});
服务器什么都不写,因为任何键后面都没有值。如果某个键没有值,则它在实时数据库中根本不存在。一个空对象,就像你正在传递的那样,没有键或值。此外,生成的随机推送ID实际上是在服务器上的客户端上生成的,因此即使它看起来“合法”,也不意味着服务器做了任何事情。
为什么不尝试编写实际值呢?
newCollab.set({songs: "an actual value"});
此外,您应该检查Firebase控制台中的值,以确保它实际上写了您所期望的内容。