首先,我已经看到:this answer和其他答案。他们没有回答我的问题。
我有很长的事件清单:
{
"event1": {
"date" : 1420753443,
"name" : "name1"
},
"event2": {
"date" : 1429053443,
"name" : "name2"
}
}
我需要(如果可能的话)获取两个索引(不是日期)之间的事件,但按日期排序。
例如,我试图将两个列表相交以实现我的目标:
let query = this.databaseRef
.orderByChild('date')
.limitToFirst(100)
.limitToLast(100);
但是会抛出错误
此外,某些活动可以同时进行。因此,我无法使用上一页上的最后一个日期来查询下一页的事件
let query = this.databaseRef
.orderByChild('date')
.startAt(oldDate)
.limitToFirst(10);
我的目的是从firebase获取在用户屏幕上播放的所需项目:首先是0-9范围内的项目,第二个10-19等等。
答案 0 :(得分:0)
您可以将startAt
和endAt
方法与要查询的索引间隔一起使用
简单用法:
// Find all dinosaurs that are at least three meters tall.
var ref = firebase.database().ref("dinosaurs");
ref.orderByChild("height").startAt(3).on("child_added", function(snapshot) {
console.log(snapshot.key)
});
如果您需要更多信息,可以查看以下文档: https://firebase.google.com/docs/reference/js/firebase.database.Query#startAt
希望有所帮助