2016-02-05 63 views
3

我有一些数据如何将“equalTo”与Firebase中的值列表一起使用?

{ 
    "1": { 
    "result": 303 
    }, 
    "2": { 
    "result": 307 
    }, 
    "3": { 
    "result": 703 
    }, 
    "4": { 
    "result": 909 
    }, 
    "5": { 
    "result": 909 
    } 
} 

这样我就可以得到关键的结果领域:

ref.child("3").once("value", (snapshot) => { 
    const data = snapshot.val(); 
    console.log(data.result); 
}); 

但我想获得的结果阵列 S的, ,键在一个查询中。我怎样才能做到这一点?

回答

4

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); 
    }); 
相关问题