我正在尝试使用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()
。
我一直在寻找答案,找不到任何解决办法,不确定是什么问题......
欢迎任何帮助!
答案 0 :(得分: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());
});