Firebase实时数据库按source字段查询报错:未定义索引如何解决?
Firebase实时数据库索引错误:含义与解决方法
错误含义
Firebase实时数据库不会自动为所有字段生成查询索引。当你用order_by_child("source")搭配equal_to(source)做过滤查询时,数据库需要依赖source字段的索引来高效完成查询。如果目标路径(这里是/news)没配置该字段的索引,就会触发这个错误,拒绝执行查询请求。
解决步骤
- 打开Firebase控制台,进入你的项目,选择「实时数据库」模块
- 切换到「规则」标签页
- 修改规则配置,在对应数据路径下添加
.indexOn: "source"。如果你的settings.FB_PATH不是/news,替换成实际路径即可。示例规则如下:
{ "rules": { "news": { ".indexOn": "source", ".read": true, // 根据你的项目权限需求调整读写规则 ".write": true } } }
- 点击「发布」保存规则,之后重新测试接口就能正常执行查询了。
内容的提问来源于stack exchange,提问作者Diego L
相关产品推荐
相关产品推荐

