我有一些数据
{
"1": {
"result": 303
},
"2": {
"result": 307
},
"3": {
"result": 703
},
"4": {
"result": 909
},
"5": {
"result": 909
}
}
所以我可以获得 3 键的结果字段:
ref.child("3").once("value", (snapshot) => {
const data = snapshot.val();
console.log(data.result);
});
但我想在一个查询中获取 3 , 4 , 5 键的结果数组。我怎么能这样做?
答案 0 :(得分:6)
Firebase目前不支持多个equalTo()
。
这将得到一个3,4和5的数组,但它只是检索最后三个:
ref.limitToLast(3).once("value", function(snapshot) {
const data = snapshot.val();
console.log(data.result);
});
否则我认为您必须获取所有结果并自行过滤。
类似的东西:
ref.child('posts').child('test').once("value", function(snapshot) {
snapshot.forEach(function(childSnapshot) {
if (childSnapshot.key() == 3 || childSnapshot.key() == 4 || childSnapshot.key() == 5) {
data.push(childSnapshot.val().result);
}
});
console.log(data);
});