我的firebase数据如下所示:
{
"lambeosaurus": {
"date" : 1420753443,
"length" : 12.5,
"weight": 5000
},
"stegosaurus": {
"date" : 1429053443,
"length" : 9,
"weight" : 2500
}
}
我正在寻找一种使用自定义日期范围过滤日期的方法。 我在网上看过一些他们查询日期的例子,但时间戳一直是关键,在我的情况下是不可能的。
相关部分的文档可以在这里找到: https://www.firebase.com/docs/web/guide/retrieving-data.html#section-queries
仍然支持实时更新,这一点非常重要。我也只想确定符合标准的所有项目的数量。我对每个节点的数据点都不感兴趣。
答案 0 :(得分:32)
您似乎可以使用orderBychild()
方法按子键或属性(即weight
,length
或date
)进行排序。如果你使用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);
});