Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to do the following query in Firebase? (more than one where condition) [duplicate]

Consider following firebase structure :

{
  "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"
    },
  }
}

how do you implement the following query :

SELECT * FROM USERS WHERE groupName="thailand" and registration.time>=1418288589631

I was trying to do it like this :

fireBase.orderByChild("groupName").startAt("thailand").endAt("thailand").orderByChild("time").startAt("1418288589631")

but that threw an exception since firebase doesnt allow multiple orderbys...

Any ideas?

like image 771
Ofek Ron Avatar asked Dec 11 '14 20:12

Ofek Ron


Video Answer


1 Answers

Firebase currently only supports a single orderBy per query.

So if you want to filter (or order) on more than one property, you'll either have to do the additional filtering (or ordering) client-side in your JavaScript code or you'll have to come up with your own indexing scheme that combines the properties.

like image 122
Frank van Puffelen Avatar answered Sep 19 '22 17:09

Frank van Puffelen