Firestore生产环境读写时能否创建复合索引及禁用thumb_url自动索引
Firestore 索引操作常见问题解答
生产环境读写中的集合能否创建复合索引
可以正常创建,不会对线上业务产生负面影响。
Firestore的复合索引构建为后台异步任务,无论构建耗时多久(即使需要数天),都不会阻塞现有集合的增删改查操作,也不会降低业务可用性。
仅需注意:索引构建完成前,依赖该索引的新增查询会返回报错,原有不依赖该索引的查询不受任何影响。如果需要中途终止构建,直接在控制台删除对应待构建索引即可,无额外副作用。
数组嵌套字段thumb_url设置免自动索引的方法
你需要配置Firestore单字段索引豁免规则,操作步骤如下:
- 进入Firebase控制台的Firestore数据库页面,切换到「索引」标签,找到「单字段索引」板块
- 点击「添加豁免」,选择目标集合ID
- 字段路径填写
references.*.thumb_url,其中*为通配符,匹配references数组中的所有元素 - 关闭「启用集合索引」和「启用集合组索引」两个选项,保存规则即可
配置完成后,所有新写入文档中references数组下的thumb_url都不会被自动创建单字段索引,已有文档中该字段的旧索引会被后台自动清理。如果后续需要针对thumb_url字段做查询,需要手动创建对应索引才能正常执行。
内容的提问来源于stack exchange,提问作者Shaun
相关产品推荐
相关产品推荐

