我的数据库看起来像这样
Rockport和Palmont是城市,他们有位置,位置很多,但我只是举个例子 - 所以我想找回位置名称和人口
我想出了这个有效的代码,并向我展示了每个城市的“Location1”
$("#button").click(function() {
var dbref = firebase.database().ref();
dbref.once("value")
.then(function(snapshot) {
snapshot.forEach(function(datasnap) {
var Location = datasnap.child("Location1/name").val();
var Population = datasnap.child("Location1/population").val();
$( "#table" ).append( "<tr><td>" + Location + "</td><td>" + Population + "</td></tr>" );
})
})
});
我的html表的输出是
SILVERTON 197
ROSEWOOD 213
它没有显示“Location2”的名字和人口,因为我没有明显提到它,在第6行和第7行我可以这样做
var Location = datasnap.child("Location2/name").val();
var Population = datasnap.child("Location2/population").val();
但就像我说的那样,地点可以达到'20',我需要写下所有地点?
任何结果如何?
答案 0 :(得分:1)
您需要遍历每个城市的子数据。 Firebase的Snapshot
有一个方法forEach()
,可以轻松实现。您已经使用它来遍历城市,但您也应该使用它来遍历每个城市的位置:
$("#button").click(function() {
var dbref = firebase.database().ref();
dbref.once("value").then(function(snapshot) {
snapshot.forEach(function(citysnap) {
citysnap.forEach(function(locationsnap) {
var Location = locationsnap.child("name").val();
var Population = locationsnap.child("population").val();
$( "#table" ).append( "<tr><td>" + Location + "</td><td>" + Population + "</td></tr>" );
});
})
})
});