Firebase Realtime DB incomplete/missing 几层的快照

Snapshot of Firebase Realtime DB incomplete/missing several layers

我将数据存储在包含多层嵌套的 Firebase 实时数据库中。一层包括一个键值对,键"practices"对应一个数组。

当我从 FB 中检索此数据作为快照时,该图层的值显示为 undefined。快照没有完全变平,但是这一层和下面的任何东西都丢失了。

这是我检索数据的方式:

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})
    });
}       

谁能告诉我为什么快照中的数据与后端存储的数据不同?

使用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})
     });
    });
}