Firebase query by date range

My firebase data looks something like this:

{
  "lambeosaurus": {
    "date" : 1420753443,
    "length" : 12.5,
    "weight": 5000
  },
  "stegosaurus": {
    "date" : 1429053443,
    "length" : 9,
    "weight" : 2500
  }
}

I am looking for a way to filter the dates using a custom date range.
I’ve seen some examples online where they have queried for date, but the timestamp has always been the key which isn’t possible in my case.

The relevant section is the documentation can be found here:
https://www.firebase.com/docs/web/guide/retrieving-data.html#section-queries

It’s important that real time updating is still supported. I also only want to determine the number of all the items that fit the criterion. I am not interested in the data point for each node.

Looks like you can use the orderBychild() method to order by child key or property (i.e. weight, length, or date). And if you chain that using startAt() & endAt(), we can construct the query you’re looking for:

var startDate = 14200000000;
var endDate = 14300000000;

ref.orderByChild("date").startAt(startDate).endAt(endDate)
  .on("child_added", function(snapshot){
    console.log("got the data!", snapshot);
  });


The answers/resolutions are collected from stackoverflow, are licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0 .
Read More:   How can I get the class of a parent element?

Similar Posts