gpt4 book ai didi

javascript - 从数据库中迭代并检索数据

转载 作者:行者123 更新时间:2023-12-03 03:57:44 28 4
gpt4 key购买 nike

我的数据库看起来像这样

enter image description here

罗克波特和帕尔蒙特是城市,它们有位置,位置很多,但我只是举个例子 - 所以我想检索位置名称和人口

我想出了这段代码,它可以工作并显示每个城市的“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”个,我需要写下所有位置?

有什么办法可以解决这个问题吗?

最佳答案

您需要循环每个城市的子数据。 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>" );
});
})
})
});

关于javascript - 从数据库中迭代并检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44861545/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com