Firebase选择多个条件

时间:2018-03-08 17:47:35

标签: firebase firebase-realtime-database

是否可以在Firebase中进行此查询? 我需要把OR条件写入'// OR'。 有谁知道怎么做?

firebase.database().ref().child('reservation')
.orderBy('date').equalTo(date)
//AND
  (  
     .orderBy('enterHourSelected').endAt(enterHourSelected)
     .orderBy('outHourSelected').startAt(enterHourSelected)
   //OR
     .orderBy('enterHourSelected').startAt(enterHourSelected)
     .orderBy('outHourSelected').endAt(outHourSelected)
   //OR
     .orderBy('enterHourSelected').endtAt(outHourSelected)
     .orderBy('outHourSelected').startAt(outHourSelected)
  )
  .once('value', snapshot => {
             ...
});

1 个答案:

答案 0 :(得分:1)

这不可能,你只能查询一个孩子,钥匙或价值

所以你能够做到这一点:

const ref=rootRef.child('reservation').orderBy('date').equalTo(date);
const ref=rootRef.child('reservation').orderBy('date').startAt("enterHourSelected").endAt(enterHourSelected);
const ref=rootRef.child('reservation').orderBy('date').limitToFirst(10);
const ref=rootRef.child('reservation').orderBy('date').limitToLast(10);

如果您在问题

中执行上述代码,则会出现错误

然后当您想要检索数据时,您只能使用上述之一:

rootRef.child('reservation').orderBy('date').equalTo(date).once('value', snapshot => {
 //retrieve here

 });