如何在Firebase中执行以下查询?(不止一个条件)

Ofe*_*Ron 4 android firebase

考虑以下firebase结构:

{
  "users" : {
    "00:03:aa:dc:1c:2b" : {
      "firstName" : " Ofek",
      "groupName" : "thailand",
      "lastName" : "Ron",
      "registration" : {
        "type" : "regular",
        "time" : 1418288589636
      },
      "phoneNumber" : "345345345"
    },
    "04:46:65:8D:60:C6" : {
      "firstName" : " Ofek",
      "groupName" : "thailand",
      "lastName" : "Ron",
       "registration" : {
        "type" : "regular",
        "time" : 1418288589630
      },
      "phoneNumber" : "345345345"
    },
  }
}
Run Code Online (Sandbox Code Playgroud)

你如何实现以下查询:

SELECT * FROM USERS WHERE groupName="thailand" and registration.time>=1418288589631
Run Code Online (Sandbox Code Playgroud)

我试图像这样做:

fireBase.orderByChild("groupName").startAt("thailand").endAt("thailand").orderByChild("time").startAt("1418288589631")
Run Code Online (Sandbox Code Playgroud)

但由于firebase不允许多个订单,因此引发了异常......

有任何想法吗?

Fra*_*len 7

Firebase目前仅支持orderBy每个查询一个.

因此,如果您想要在多个属性上过滤(或订购),您需要在JavaScript代码中进行额外的过滤(或排序)客户端,否则您将不得不提出自己的索引方案结合了属性.