按范围

时间:2017-09-27 13:22:54

标签: firebase react-native

首先,我已经看到: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等等。

1 个答案:

答案 0 :(得分:0)

您可以将startAtendAt方法与要查询的索引间隔一起使用

简单用法:

// 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

希望有所帮助