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})
});
});
}
我将数据存储在包含多层嵌套的 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})
});
});
}