Google Firebase: snap.val (). Имя пользователя возвращает неопределенное - PullRequest
0 голосов
/ 26 декабря 2018

Я получаю элемент в базе данных реального времени, где дочерний элемент электронной почты совпадает с адресом электронной почты в localStorage, и это прекрасно работает.

Однако, когда я пытаюсь зарегистрировать имя пользователя, он возвращает неопределенное вместо фактического имени пользователя

let useremail = localStorage.getItem("useremail")

    firebase.database().ref("/users").orderByChild('email').equalTo(useremail).on("value", function(snap){
        let data = snap.val();
        console.log(data.username)
    })

Кто-нибудь знает, как это исправить?

база данных выглядит следующим образом

database looks like this

Если я войдуданные, которые это показывает: enter image description here

и если я регистрирую useremail, правильная строка показывает

1 Ответ

0 голосов
/ 26 декабря 2018

Попробуйте это:

let useremail = localStorage.getItem("useremail")

firebase.database().ref("/users").orderByChild('email').equalTo(useremail).on("value", function(snap){
snap.forEach(function(childSnapshot)){
    let data = childSnapshot.val();
    console.log(data.username)
 });
});

Поскольку ссылка находится на узле users, вам необходимо выполнить цикл для доступа к атрибутам.

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