Как извлечь всех детей из вложенной базы данных в Firebase, используя JavaScript

1

Я могу получить ребенка, если он присутствует в качестве данных /a, data/b. Но я хочу получить все данные, которые присутствуют в виде данных /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, уведомлений /key2/key2timestamp/uid.

Как мне изменить свой код для доступа к этому?

Теги:
firebase
firebase-realtime-database

1 ответ

1
Лучший ответ

Попробуйте следующее:

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

Поскольку моментальный снимок находится в notifications тогда цикл дважды, чтобы иметь возможность извлекать вложенные дети

Ещё вопросы

Сообщество Overcoder
Наверх
Меню