Firebase:获取每小时/每日/每月计数

时间:2015-03-23 15:03:30

标签: firebase

我是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的示例会更有帮助。

1 个答案:

答案 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,这在加藤撰写博客文章时尚不存在。