Снимок базы данных Firebase Realtime неполный / отсутствует несколько слоев - PullRequest
0 голосов
/ 25 января 2020

У меня есть данные, хранящиеся в БД Firebase Realtime, которая включает в себя несколько уровней вложенности. Один слой включает пару ключ-значение с ключом «практики», соответствующим массиву.

enter image description here

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

enter image description here

Вот как я получаю данные:

loadLanguage({commit}, lang){
    console.log('will try to load: ' + lang)
    DB.ref(`by_language/${lang}`).once('value').then(function(snapshot){
    console.log('snapshot value below is missing several layers')
    var data=snapshot.val()
    console.log(data)
    commit('LOAD_LANGUAGE', {data: data, language: lang})
    });
}       

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

1 Ответ

1 голос
/ 25 января 2020

Используйте forEach для извлечения данных:

loadLanguage({commit}, lang){
    console.log('will try to load: ' + lang)
    DB.ref(`by_language/${lang}`).once('value').then(function(snapshot){
    console.log('snapshot value below is missing several layers')
    var data = snapshot.val()
    snapshot.forEach(function(subSnapshot){
    var subData = subSnapshot.val()
    console.log(data)
    commit('LOAD_LANGUAGE', {data: data, language: lang})
     });
    });
}   
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...