Firebase中查询中的索引错误

时间:2018-06-30 12:04:57

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

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

下面是我的结构:

This is my Firebase Rules

我的Firebase数据库结构:

enter image description here

我的查询:

print('starting')
process = BattleQueueProcess()
process.start()
print('started')

错误:

  

{       “错误”:“索引未定义,将\”。indexOn \“:\”全名\“(路径\ / country \)添加到规则中”   }

1 个答案:

答案 0 :(得分:1)

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

您要执行的查询无法使用当前数据结构进行。您将需要修改数据结构以允许它。您似乎正在尝试查找具有特定名称用户的国家/地区。要允许该查询,请添加一个额外的数据结构来精确地保存以下内容:

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

使用此附加结构,您只需阅读/countries_by_fullname/Vitor Darela即可找到国家/地区列表。

另请参阅: