有人可以帮忙吗? 我有这些数据:
"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的情况下,如何列出给定区域(例如-KPCQvj8Pe8Ju5ArbeBS)中包含的所有商品的参考(例如:offer1,offer2)
我尝试过:
firebase.database().ref().child('offersByArea').child('KPCQvj8Pe8Ju5ArbeBS').child('food').on('value', function(keys) {
console.log(keys)
keys.forEach(function(keySnapshot) {
console.log(keySnapshot)
});
})
但是它什么也不返回。
亚历克斯。
答案 0 :(得分:0)
我认为这应该可行,尽管可能有更好的方法来读取特定属性:
function getFood(id) {
return firebase.database()
.ref(`/offersByArea/${id}`)
.once('value')
.then((snapshot) => Object.keys((snapshot.val() && snapshot.val().food) || {}));
}
getFood('-KPCQvj8Pe8Ju5ArbeBS');