Ben*_*ler 3 javascript json node.js firebase firebase-realtime-database
我试图获得firebase对象的第一个孩子.我的参考文件如下:
var sitesToVisitRef = firebase.database().ref('sitesToVisit')
Run Code Online (Sandbox Code Playgroud)
我知道ref是有效的,因为我可以写信给它.我的数据结构可能如下所示:
sitesToVisit:
arstechnica-com:
url: "https://arstechnica.com"
Run Code Online (Sandbox Code Playgroud)
但是,我不知道密钥(arstechnica-com),但我需要获取网址.
我正在尝试使用此代码:
var nextUrl;
sitesToVisitRef.limitToFirst(1).once('value', function(snapshot) {
console.log("snapshot key" + snapshot.key);
console.log("snapshot.val.url = " + snapshot.val().url);
console.log("snapshot.val" + snapshot.val());
nextUrl = snapshot.val().url;
}
});
Run Code Online (Sandbox Code Playgroud)
但是snapshot.key记录为"sitesToVisit",而不是"arstechnica-com".
任何帮助将不胜感激.非常感谢!
试试这个:
var nextUrl;
sitesToVisitRef.limitToFirst(1).once('value', function(snapshot) {
for(var key in snapshot.val()){
console.log("snapshot key" + key);
console.log("snapshot.val.url = " + snapshot.val()[key].url);
console.log("snapshot.val" + snapshot.val()[key]);
nextUrl = snapshot.val()[key].url;
}
});
Run Code Online (Sandbox Code Playgroud)
你所拥有的snapshot是一个包含所有子节点的数组sitesToVisit,因为你limitToFirst(1)只使用了它,但它仍然是一个数组,因此你需要迭代该数组来获取每个子节点的键.