【问题标题】:Firebase date range queryFirebase 日期范围查询
【发布时间】:2014-10-12 09:42:16
【问题描述】:

我正在尝试使用startAt()endAt() 获取基于特定日期范围的数据。 数据设置有时间戳优先级。

我的结构是这样的:

"sessions" : {
    "1413099157" : {
      ".priority" : 1413099338,
      "max_position" : "100",
      "unique" : "1",
      "views" : "1"
    },
    "1413105026" : {
      ".priority" : 1413105210,
      "max_position" : "100",
      "unique" : "1",
      "views" : "1"
    },
    "1413105029" : {
      ".priority" : 1413105210,
      "max_position" : "100",
      "unique" : "1",
      "views" : "1"
    },
    "1413105035" : {
      ".priority" : 1413105219,
      "max_position" : "100",
      "unique" : "1",
      "views" : "1"
    },
    "2818847947" : {
      ".priority" : 1413099248,
      "max_position" : "100:quiet",
      "views" : "3"
    }
}

我的查询:

fbRef.child('sessions').on('value', function(session) {
    var sessions = session.val();
    for (var sess in sessions) {
        fbRef.child('sessions/'+sess)
            .startAt(1412538604)
            .endAt(1413143404)
            .on('value', function(sess_data) {
                 console.log('Object: ', sess_data.val());
                 console.log('Priority: '+sess_data.getPriority());
        });
    };
});

我的值和优先级都为 null:

如果我删除 startAt()endAt(),查询会正常工作。

我一直在寻找答案,但找不到任何解决方案,不知道是什么问题......

很高兴得到任何帮助!

【问题讨论】:

  • 请从问题中删除 PHP 代码(并填写您的 JavaScript 代码中使用的实际值)或在问题中添加 PHP 标记。
  • 好的,完成。用实际值替换它。

标签: firebase


【解决方案1】:

我不确定您为什么选择上面的代码结构,但这似乎更简单并且可以毫无问题地工作:

var ref = new Firebase('https://yourfirebase.firebaseio.com/');
ref.child('sessions')
  .startAt(1413105210)
  .endAt(1413105219)
  .on('child_added', function(snapshot) {
    console.log(snapshot.exportVal());
  });

http://jsbin.com/qunonu/1/edit?js,console

【讨论】:

  • 有趣...我想我错过了一些核心概念:/ 将再次检查。无论如何,我需要做的聚合有一些问题,我想计算按位置(0、25、50、75、100)分组的 max_position 的数量。有任何想法吗? Firebase 是否已准备好处理此类查询?
  • 没有找到关于分组计数的任何信息,我阅读了 Firebase 文档几次,还在网上搜索了更多信息。我会发布一个关于它的新问题。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-19
  • 2019-08-16
  • 2014-12-17
  • 2014-01-07
相关资源
最近更新 更多