【问题标题】:Index error in query in FirebaseFirebase 查询中的索引错误
【发布时间】:2018-06-30 21:23:41
【问题描述】:

我在 Firebase 数据库中设置搜索查询时遇到问题。我把规则一直放在我的搜索中,但我总是得到索引错误。

下面是我的结构:

我的 Firebase 数据库结构:

我的查询:

https://zoome-production-users.firebaseio.com/country.json?orderBy="fullname"&equalTo="Vitor Darela"

错误:

{ "error": "索引未定义,添加 \".indexOn\": \"fullname\", for path \"/country\", to the rules" }

【问题讨论】:

    标签: firebase firebase-realtime-database firebase-security


    【解决方案1】:

    在您的 REST 调用中,您对数据库中的 /country 运行查询。此查询检查/country 的每个直接子节点以查看它是否与您的过滤器匹配。在您的 JSON 数据中 /country/AD 没有属性 fullname,因此查询不会返回任何内容。即使您要添加错误消息告诉您的索引,它也不会返回任何内容。

    您尝试执行的查询不适用于您当前的数据结构。您将需要修改数据结构以允许它。您似乎正在尝试查找具有特定名称的用户的国家/地区。要允许该查询,请添加一个额外的数据结构,该结构恰好包含:

    "countries_by_fullname": {
      "Vitor Darela": {
        "AD": true
      }
    }
    

    有了这个额外的结构,您只需阅读/countries_by_fullname/Vitor Darela就可以找到国家/地区列表。

    另见:

    【讨论】:

    • 谢谢你的回答,现在对我来说更清楚了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-15
    • 1970-01-01
    相关资源
    最近更新 更多