Цикл PushID пожарной базы - PullRequest
       4

Цикл PushID пожарной базы

0 голосов
/ 01 ноября 2018

Я пытаюсь перебрать базу данных и вернуть все события из "eventList", которые соответствуют текущему идентификатору пользователя. Моя проблема здесь в том, что у меня проблемы с простым возвратом списка postID. В результате я получаю "eventList" или "undefined". Как я могу перебрать базу данных и вернуть postID в "eventList"?

У меня следующая структура базы данных:

{
  "eventList" : {
    "-LQ68rGmj_OYShda3tV9" : {
      "name" : "Christmas",
      "user" : "8eZcncLHPCWtuuhw90HRr79f0VO2"
    },
      "-L23Tr87ejdjh9osnG" : {
      "name" : "easter",
      "user" : "7gjsuhv84mvkkslv0jlssvghdasd"
    }

  },
  "userProfile" : {
    "8eZcncLHPCWtuuhw90HRr79f0VO2" : {
      "firstName" : "M"
    }
  }
}

Вот код, с которым я работал:

this.postRef = firebase.database().ref('/eventList');
this.postRef.once("value")
  .then(function(snapshot) {
    var key = snapshot.key; // null


  });
  console.log(this.postRef.key);

1 Ответ

0 голосов
/ 01 ноября 2018

Попробуйте выполнить цикл внутри узла и получить каждое значение, а также распечатать данные внутри вашего обещания, поскольку .once обрабатывает асинхронную работу, и если вы попытаетесь получить свой ключ вне .then, он будет нулевым, а также обработает ошибку перехвата если обещание не выполняется.

 this.postRef = firebase.database().ref('/eventList');
    this.postRef.once("value")
      .then(function(snapshot) {

     const eventData = snapshot.forEach(data => {
     var key = data.key; 
     console.log(this.postRef.key);
      });

     return eventData;

 }).catch(error => {
         console.log('Error trying to fetch the data.');
        });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...