我在Firebase数据库中设置搜索查询时遇到问题。我在搜索过程中一直放置规则,但是总是出现索引错误。
下面是我的结构:
我的Firebase数据库结构:
我的查询:
print('starting')
process = BattleQueueProcess()
process.start()
print('started')
错误:
{ “错误”:“索引未定义,将\”。indexOn \“:\”全名\“(路径\ / country \)添加到规则中” }
答案 0 :(得分:1)
在REST调用中,您对数据库中的/country
运行查询。此查询检查/country
的每个直接子节点,以查看其是否与您的过滤器匹配。在您的JSON数据中,/country/AD
没有属性fullname
,因此查询将不返回任何内容。即使您要添加错误消息告诉您的索引,它也不会返回任何内容。
您要执行的查询无法使用当前数据结构进行。您将需要修改数据结构以允许它。您似乎正在尝试查找具有特定名称用户的国家/地区。要允许该查询,请添加一个额外的数据结构来精确地保存以下内容:
"countries_by_fullname": {
"Vitor Darela": {
"AD": true
}
}
使用此附加结构,您只需阅读/countries_by_fullname/Vitor Darela
即可找到国家/地区列表。
另请参阅: