метод. Это позволит вам затем попасть внутрь оснастки. Оказавшись там, это простой вопрос доступа к значениям, как и любой другой объект.

исимо от того, что я делаю, я не могу найти способ доступа к дочернему «onSite», который отображается как находящийся там, когда я регистрирую snapshot.val (), но я не могу понять, как получить к нему доступ.

Код:

firebase.database().ref().child("users").orderByChild('facebook_id').equalTo(fbID).once("value").then(function(snapshot) {
    console.log(snapshot.val());
    console.log(snapshot.child("onSite").val());
});

Вот ответ:

Оно не должно быть нулевым, оно должно быть ложным. Я не могу сделать child ("4mUUjF ..."). Child ("onSite"). Val (), потому что я не знаю, что это за идентификатор перед запросом. Использование каждого цикла не работает, оно проходит только через первый уровень, который является идентификатором.

Ответы на вопрос(2)

Решение Вопроса

потенциально может быть несколько результатов. Таким образом, снимок содержит список этих результатов. Даже если есть только один результат, снимок будет содержать список из одного результата.

Ваш код должен обрабатывать список, используяSnapshot.forEach():

firebase.database().ref().child("users").orderByChild('facebook_id').equalTo(fbID)
.once("value").then(function(result) {
    result.forEach(function(snapshot) {
        console.log(snapshot.val());
        console.log(snapshot.child("onSite").val());
    });
});
 Erick Maynard05 сент. 2017 г., 01:46
Это ответ, который я видел раньше, и он не работал для меня. Теперь я попробовал это, и это работает так, как будто должно ... Иди разберись. Спасибо за ответ!
Используйте ключ объекта

а затем найдите ключ сObject.keys метод. Это позволит вам затем попасть внутрь оснастки. Оказавшись там, это простой вопрос доступа к значениям, как и любой другой объект.

firebase.database().ref().child("users").orderByChild('facebook_id').equalTo(fbID).once("value").then(function(snapshot) {
    let snap = snapshot.val();
    let key = Object.keys(snap)[0]
    console.log(snap[key].onSite);
})

Ваш ответ на вопрос