gpt4 book ai didi

javascript - 如何使用 javaScript 在 Firebase 数据库中检索嵌套的子值?

转载 作者:行者123 更新时间:2023-11-29 10:32:58 26 4
gpt4 key购买 nike

这是我的 Fireabse 数据库结构。我想检索不是硬编码值的 20170116 键的数据。是动态键。我得到了一些键和值,例如:

这是我的功能:

function getData(prospectId) {
database.ref('users/'+prospectId).once('value').then(function(snapshot) {
var prospectId = snapshot.key ;
console.log("prospectId : "+ prospectId); // output is : prospectId : 1104812

snapshot.forEach(function(childSnapshot) {
var businessUrl = childSnapshot.key;
console.log("businessUrl : "+ businessUrl); // output is : businessUrl : http:\\www.abc.com
var dates = Object.keys(childSnapshot.val());
console.log("dates : "+ dates); //output is : dates : 20170116,20170117,20170119,20170121
var singleDate = dates[0];
console.log("singleDate : "+ singleDate); //output is : singleDate : 20170116
});
});
}

getData(1104812);

Here is my Fireabse database structure

那么如何获取20170116日期数据或快照呢?

最佳答案

您将值监听器附加到 /users/1104812。因此,您在回调中获得的快照将包含其下的子节点:201701162017011720170119

当您遍历子节点时(使用 snapshot.forEach(function()),您的 childSnapshot 将依次成为这些节点中的每一个。

这些节点都没有子 clientUrldistrictId,它们在树中更深一层:

database.ref('users/'+prospectId).once('value').then(function(snapshot) {
var prospectId = snapshot.key ;

snapshot.forEach(function(snapshot1) {
console.log(snapshot1.key); // e.g. "http://..."
snapshot.forEach(function(snapshot2) {
console.log(childSnapshot.key); // e.g. "20170116"
childSnapshot.forEach(function(snapshot3) {
console.log(grandchildSnapshot.key); // e.g. "-Kb9...gkE"
console.log(grandchildSnapshot.val().districtId); // "pne"
});
});
});
});

关于javascript - 如何使用 javaScript 在 Firebase 数据库中检索嵌套的子值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41909588/

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