首页 > 解决方案 > Firebase 数据库 orderByChild().startAt().endAt() 未按预期工作

问题描述

这是我的数据结构,

{
  "-LbrCWf6yUe1nr5iIn9O": {
    "mKey": "-LbrCWf6yUe1nr5iIn9O",
    "rank": 37477,
    "verified": true
  },
  "-LbrAMyMdwxSwwmEn_fn": {
    "mKey": "-LbrAMyMdwxSwwmEn_fn",
    "rank": 35482,
    "verified": true
  },
  "-LbqsgGcAMoh3YGkv1E5": {
    "mKey": "-LbqsgGcAMoh3YGkv1E5",
    "rank": 36484,
    "verified": true
  },
  "-LbrBXBdPMe-1Y_thyEs": {
    "mKey": "-LbrBXBdPMe-1Y_thyEs",
    "rank": 37493,
    "verified": true
  },
  "-Lbqqasv2t1R7jup1RSq": {
    "mKey": "-Lbqqasv2t1R7jup1RSq",
    "rank": 38500,
    "verified": true
  },
  "-LbqLO2eBnbRxHhHZb8X": {
    "mKey": "-LbqLO2eBnbRxHhHZb8X",
    "rank": 39501,
    "verified": true
  }
}

要求是获取所有nodes属于特定排名范围的内容,查询如下所示:

RankPredictor_Ref.orderByChild("rank").startAt(35000).endAt(37500);

执行查询时,nodes尽管 4nodes落在可能的范围内,但仍返回零。

我知道,我在这里遗漏了一些东西。任何人都可以对我有所了解。谢谢!

标签: javascriptfirebasefirebase-realtime-database

解决方案


推荐阅读