Данные о подключении к базе данных Firebase в реальном времени - Интернет - PullRequest
0 голосов
/ 05 сентября 2018

Я должен показать данные, принадлежащие пользователю, который вошел в систему.

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

Пользователи / Drivers / Uid / имя, телефон ... Как я могу показать данные пользователя, который вошел в систему, используя JavaScript как текст?

<a> Username </a>

1 Ответ

0 голосов
/ 05 сентября 2018

Если у вас есть этот HTML:

<a id="username"> Username </a>

И эта структура базы данных:

Users
  Drivers
    Uid: { name: "Name", phone: "Phone number" }

Затем вы можете отобразить имя текущего пользователя с помощью:

var currentUser = firebase.auth().currentUser;
var userRef = firebase.database().ref("Users/Drivers").child(currentUser.uid);
userRef.on("value", function(snapshot) {
  document.getElementById("username").innerText = snapshot.val().name;
})

Таким образом, этот код делает (строка за строкой):

  1. Определить текущего пользователя
  2. Создать ссылку на данные этого пользователя в базе данных
  3. Начинает прослушивание этих данных, то есть загружает текущие данные, а затем отслеживает любые изменения
  4. Вставляет имя пользователя в элемент.

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

Также см. Документацию Firebase по прослушиванию значений .

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

firebase.auth().onAuthStateChanged(function(user) {
  if (user) {
    var userRef = firebase.database().ref("Users/Drivers").child(user.uid);
    userRef.on("value", function(snapshot) {
      document.getElementById("username").innerText = snapshot.val().name;
    })
  }
});

См. Документацию Firebase по для получения текущего зарегистрированного пользователя ..

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