按日期范围查询Firebase

Pau*_*aul 16 javascript firebase

我的firebase数据看起来像这样:

{
  "lambeosaurus": {
    "date" : 1420753443,
    "length" : 12.5,
    "weight": 5000
  },
  "stegosaurus": {
    "date" : 1429053443,
    "length" : 9,
    "weight" : 2500
  }
}
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种使用自定义日期范围过滤日期的方法.我在网上看到了一些他们查询日期的例子,但是时间戳一直是关键,这在我的情况下是不可能的.

相关部分的文档可在此处找到:https: //www.firebase.com/docs/web/guide/retrieving-data.html#section-queries

重要的是仍然支持实时更新.我也只想确定符合标准的所有项目的数量.我对每个节点的数据点不感兴趣.

Kee*_*ter 32

看起来你可以使用orderBychild()方法,通过子键或财产顺序(即weight,lengthdate).如果你使用startAt()&链接endAt(),我们可以构建你正在寻找的查询:

var startDate = 14200000000;
var endDate = 14300000000;

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

  • 这可以扩展到GPS坐标吗?即.在纬度和经度上有一个`startAt()`和`endAt`? (2认同)