Вам никогда необходимо присоединить слушателей к вложенным данным. Когда вы читаете узел в местоположении, все данные из этого местоположения также присутствуют в снимке, который вы получаете обратно. Все, что вам нужно сделать, это переместиться по снимку с помощью 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
});
});
})
})