首页 > 解决方案 > 如何使用javascript从firebase中的嵌套数据库中检索所有孩子

问题描述

如果孩子以 data/a、data/b 的形式存在,我可以检索它。但我想检索以 data/key1/a、data/key1/b、data/key2/a、data/key2/b 形式存在的所有数据。

现在我将代码用作,

var rootRef = firebase.database().ref().child("notifications");
rootRef.on("child_added", snap => {
var uid = snap.child("uid").val();
});

这给了我存在于通知/key1/uid、通知/key2/uid 中的数据。

我的数据库是通知/key1/key1timestamp/uid、notifications/key2/key2timestamp/uid。

如何编辑我的代码以访问它?

标签: javascriptfirebasefirebase-realtime-database

解决方案


尝试以下操作:

var db = firebase.database();
var ref1 = db.ref("notifications");

ref1.on("value", (snapshot) => {
  snapshot.forEach((childSnapshot)=> {
    childSnapshot.forEach((childrenSnapshot)=>{
      let userId = childrenSnapshot.val().uid;
    });
}); 

假设你有这个数据库:

notifications
       key1
         key1timestamp
                 uid: id_here
        key2
          key2timestamp
                 uid:id_here

由于快照在notificationsthen 循环两次以便能够检索嵌套的子级


推荐阅读