考虑以下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"
},
}
}
如何实现以下查询:
SELECT * FROM USERS WHERE groupName="thailand" and registration.time>=1418288589631
我试图这样做:
fireBase.orderByChild("groupName").startAt("thailand").endAt("thailand").orderByChild("time").startAt("1418288589631")
但由于firebase不允许多个orderbys而引发异常......
有什么想法吗?
答案 0 :(得分:7)
Firebase目前每个查询仅支持一个orderBy
。
因此,如果您想要在多个属性上过滤(或订购),您必须在JavaScript代码中对客户端进行额外的过滤(或排序),否则您将不得不提出了自己的索引方案,它结合了属性。