Firebase Python:如果无法对子值进行排序,如何查询子项的范围?

时间:2018-03-06 15:00:58

标签: python firebase firebase-realtime-database

我对Firebase很新,所以如果我的问题没有经过深思熟虑,请原谅我。

我正在尝试查询数据库的第N个条目。例如,如果我有一个名为'dinosaurs'的数据库,我应该能够查询第10个条目或一系列条目,例如第10个到第100个。

Firebase documentation中,有几种方法可以查询特定条目或条目,如下所示:

  1. 根据孩子查询特定比赛:
  2. ref = db.reference()

    ref.order_by_child('height').equal_to(25).get()

    或查询一系列起始和结束索引值:

    ref.order_by_key().start_at('b').end_at(u'b\uf8ff').get()
    

    但我的数据库discover-db的(第一级)子项填充了随机字母数字字符,后跟二级子项,如"request", "results", and "timestamp"

    我可以使用以下代码查询上/下N值:

    db.reference('discover-db').order_by_key().limit_to_last(N).get()
    

    但是,如何查询数据库中的第10到第100个条目,而无法使用order_by_child('height')对子值进行排序?

    enter image description here

1 个答案:

答案 0 :(得分:0)

我已经弄清楚了。管理级别未启用索引:

{
  "rules": {
    "dinosaurs": {
      ".indexOn": ["height", "length"]
    }
  }
}

这样做解决了时间戳/其他孩子查询子条目的问题