如何使用;equalTo“;在Firebase中使用值列表?
我有一些数据如何使用;equalTo“;在Firebase中使用值列表?,firebase,Firebase,我有一些数据 { "1": { "result": 303 }, "2": { "result": 307 }, "3": { "result": 703 }, "4": { "result": 909 }, "5": { "result": 909 } } 所以我可以得到3个键的结果字段: 但我想在一个查询中得到3、4、5个键的结果数组。我如何才能做到这一点?Firebase目前不支持多个equalTo()s。
{
"1": {
"result": 303
},
"2": {
"result": 307
},
"3": {
"result": 703
},
"4": {
"result": 909
},
"5": {
"result": 909
}
}
所以我可以得到3个键的结果字段:
但我想在一个查询中得到3、4、5个键的结果数组。我如何才能做到这一点?Firebase目前不支持多个
equalTo()
s。
这将得到一个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);
});
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);
});