Firebase - snapshot.val () возвращает null - Почему он не может подключиться к нужной коллекции? - PullRequest
0 голосов
/ 31 мая 2018

Я пытаюсь получить информацию из поля в моей коллекции Firebase, чтобы я мог использовать эту информацию на своем сайте.Тем не менее, snapshot.val () дает мне ноль.Моя ссылка не нацелена на коллекцию правильно?Когда я пытаюсь получить доступ к полю внутри коллекции (как вы можете видеть, что я делаю в закомментированной строке), я получаю эту ошибку:

headerNav.vue? C47a: 69 Uncaught (в обещании) TypeError: Не удается прочитать свойство 'userControl' со значением NULL

Это изображение того, как настроена моя база данных

Эта проблема в одиночку заставила меня получить учетную запись StackOverflow,Может ли кто-нибудь из вас понять это?Мне бы очень хотелось, чтобы меня проявили идиотом, если вы можете просто научить меня, как это исправить.

  if(firebase.auth().currentUser){

    return firebase.database().ref('/users/samgmailcom').once('value').then((snapshot) => {
      console.log(snapshot.val());
      //console.log(snapshot.val().userControl);
    });

  } else {
    this.user = null
  }

1 Ответ

0 голосов
/ 31 мая 2018

База данных, показанная на скриншоте, - Cloud Firestore.Но API, к которому вы обращаетесь, предназначен для базы данных Firebase Realtime.Это полностью отдельные базы данных, каждая со своим собственным API.

Следуйте документации по для получения данных из Cloud Firestore , чтобы решить эту проблему.Нечто подобное должно сработать:

var docRef = db.collection("users").doc("samgmailcom");

docRef.get().then(function(doc) {
    if (doc.exists) {
        console.log("Document data:", doc.data());
    } else {
        // doc.data() will be undefined in this case
        console.log("No such document!");
    }
}).catch(function(error) {
    console.log("Error getting document:", error);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...