我是Firebase的新手,来自MySQL。我无法绕过这个问题,这在MySQL的情况下是微不足道的。我希望每小时,每天或每月检索一些记录(在本例中为访问)。每次访问都记录在Firebase中,如下所示(我可能也错了)。
{
"visit": {
"timestamp": 1414622353610,
"user": "198"
},
"visit": {
"timestamp": 1414622353680,
"user": "55"
},
"visit": {
"timestamp": 1414622353710,
"user": "60"
}
}
我将如何在Firebase中实现此功能。我在Firebase文档中找不到相同的查询方法。我正在使用Firebase REST API,因此使用REST的示例会更有帮助。
答案 0 :(得分:1)
我设置了一个Firebase,其数据结构与您展示的数据结构类似。
此查询将在一定时间内为您提供事件:
var ref = new Firebase('https://<yours>.firebaseio.com/'),
startTime = 1427138419385,
endTime = startTime + 60 * 1000;
ref
.orderByChild('timestamp')
.startAt(startTime)
.endAt(endTime)
.once('value', function(snap) {
console.log('There are ', messages.numChildren(), ' messages in range', snap.val());
});
工作小提琴:http://jsfiddle.net/qg5hmong/
请注意,此代码是此博客文章中相当直接的修改:https://www.firebase.com/blog/2013-10-01-queries-part-one.html#between。唯一的区别是我们现在可以使用orderByChild
,这在加藤撰写博客文章时尚不存在。