Извлечение текущих пользовательских данных из firebase - PullRequest
0 голосов
/ 02 декабря 2018

Я могу получить данные, но они показывают только данные последнего пользователя в базе данных.Пользователи перечислены по их UID.Ниже приведен код и скриншот данных из Firebase.Помогите, ребята!

var database = firebase.database().ref('users');
database.on("child_added", function(snapshot) {
    var snapVal = snapshot.val();
    displayName.innerHTML = snapVal.mUsername;
    console.log(snapVal);

    var badge = document.createElement('span');
    badge.textContent = 'view details';
    badge.setAttribute('class','badge');
    var list = document.createElement('a');
    list.textContent = snapVal.mUsername;
    list.setAttribute('href', '#');
    list.setAttribute('class', 'list-group-item');
    patientList.appendChild(list);
    list.appendChild(badge);
    var userIcon = document.createElement('i');
    userIcon.setAttribute('class','far fa-user');
    list.insertBefore(userIcon, list.childNodes[0])

},
function (errorObject) {
    console.log("The read failed: " + errorObject.code);
});

Database, users is the child of the root.

1 Ответ

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

Вы должны обратиться к узлу конкретного пользователя, чтобы получить информацию.Ваш код должен выглядеть следующим образом:

var userRef = firebase.database().ref(`users/${user_node_key}`); // user_node_key should be the node containing the user info.

Вы должны иметь возможность получить ключ узла, используя объект текущего пользователя.

, а затем вызвать once на userRef, если вы простонеобходимо получить подробности один раз или on, если вам нужно прослушать все изменения для этого пользователя.

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

userRef.once('value').then(function(snapshot) {
  //use snapshot to get the users data
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...