Cloud Firestore控制台未显示复合索引创建跳转链接如何解决
问题原因
你遇到的无索引跳转链接的情况,通常是Flutter侧cloud_firestore插件版本过低,没有透传Firebase服务端返回的完整错误信息导致的。
解决方法
方案1:获取自动生成的索引跳转链接
将项目依赖的cloud_firestore插件升级到最新稳定版,重新运行查询后,控制台会返回带跳转链接的完整报错,点击链接即可直接跳转到Firebase控制台自动填充索引参数,确认后即可完成创建。
方案2:手动创建对应索引
如果升级插件后依然没有返回链接,可以直接按照查询规则手动创建索引,你当前的查询对应的复合索引配置如下:
- 所属集合:你当前查询对应的集合名称
- 索引字段配置:
- 第一个字段
foo,排序模式选Ascending/Descending均可(等值查询不受排序方向影响) - 第二个字段
baz,排序模式选Ascending(范围查询的排序方向需要和查询逻辑匹配,你使用的isLessThan默认对应升序)
- 第一个字段
- 索引范围选择默认的
Collection级别即可
索引创建完成后等待1~2分钟生效,再执行查询即可正常返回结果。
注:报错中附带的
WatchStream断开警告是Firebase空闲连接自动回收的正常提示,和索引问题无关,无需额外处理。
内容的提问来源于stack exchange,提问作者iDecode
相关产品推荐
相关产品推荐

