Невозможно перечислить данные с помощью firebase и angular 6 - PullRequest
0 голосов
/ 23 сентября 2018

Может ли кто-нибудь помочь с этим.У меня есть эти данные:

 "offersByArea" : {
        "-KPCQvj8Pe8Ju5ArbeBS" : {
          "beauty" : {
            "offer5" : true
          },
          "entertainment" : {
            "offer3" : true
          },
          "food" : {
            "offer1" : true,
            "offer2" : true,
            "offer14" : true
          },
          "shopping" : {
            "offer4" : true
          }
        },
        "-KPCRNmbNpoOrSHQlfrG" : {
          "beauty" : {
            "offer6" : true
          },
          "food" : {
            "offer8" : true,

          },
          "offer12" : true,
          "shopping" : {
            "offer9" : true
          }
        }
      }

Без Angularfire, как я могу перечислить ссылки всех предложений (например, offer1, offer2) на заданную область (например, -KPCQvj8Pe8Ju5ArbeBS)

Я пытался:

firebase.database().ref().child('offersByArea').child('KPCQvj8Pe8Ju5ArbeBS').child('food').on('value', function(keys) {
          console.log(keys)
          keys.forEach(function(keySnapshot) {
            console.log(keySnapshot)
          });
        })

Но ничего не возвращается.

Алекс.

1 Ответ

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

Я думаю, что это должно работать, хотя, вероятно, есть лучший способ прочитать определенное свойство:

function getFood(id) {
  return firebase.database()
    .ref(`/offersByArea/${id}`)
    .once('value')
    .then((snapshot) => Object.keys((snapshot.val() && snapshot.val().food) || {}));
}

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