Как получить Firebase Node Child Javascript? - PullRequest
0 голосов
/ 09 апреля 2020

enter image description here

k0instro-34 -> Competition -> -M3r2OoJBWChgg5RYkYC -> dBnfYEcY1LbrO6bRDFHvlUrPdFQ2 -> -M3qw5ieWPGp0S-gdrG8

Как получить доступ "-M3qw5ieWPGp0S-gdrG8"?

Мой код:

 var query = firebase.database().ref("Competition").orderByKey();
query.on("value", function (snapshot) {
    snapshot.forEach(function (childSnapshot) {

        var Competition_Node = childSnapshot.key;
        console.log("<----1>" + childSnapshot.key);

        var rootRef = firebase.database().ref("Competition");
        var urlRefx = rootRef.child(childSnapshot.key);
        urlRefx.once("value", function (snapshot) {
            snapshot.forEach(function (childSnapshot) {
                var Competition_Nodex = childSnapshot.key;
                console.log("<----2>" + childSnapshot.key);
                console.log(Competition_Node+"/"+Competition_Nodex);

                -> this not working **var queryx = firebase.database().ref("Competition").orderByChild(Competition_Node+"/"+Competition_Nodex);
                queryx.on("value", function (snapshot) {
                    snapshot.forEach(function (childSnapshot) {
                        //CompetitionInfo'daki Uid ile COmpetition'daki childlar
                        console.log("<----3>" + snapshot.key);**

                    });
                });

            });
        });
    });

Я могу только Получите это до сих пор

1 Ответ

0 голосов
/ 09 апреля 2020

Вам никогда необходимо присоединить слушателей к вложенным данным. Когда вы читаете узел в местоположении, все данные из этого местоположения также присутствуют в снимке, который вы получаете обратно. Все, что вам нужно сделать, это переместиться по снимку с помощью child() (когда вы знаете имена дочерних узлов) и forEach() (если вы не знаете названия дочерних узлов), а затем получить значения с помощью val().

var query = firebase.database().ref("Competition").orderByKey();
query.on("value", function (snapshot) {
  snapshot.forEach(function (l1Snapshot) {
    console.log(l1Snapshot.key); // -M3r2OoJBWChgg5RYkYC
    l1Snapshot.forEach(function(l2Snapshot) {
      console.log(l2Snapshot.key); // dBnfYEcY1LbrO6bRDFHvlUrPdFQ2
      l2Snapshot.forEach(function(l3Snapshot) {
        console.log(l3Snapshot.key); // -M3qw5ieWPGp0S-gdrG8
        console.log(l3Snapshot.val()); // true
      });
    });
  })
})

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...