You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Firebase实时数据库模拟器配置.indexOn索引

问题根源与解决方法

你的核心错误是将实时数据库的索引规则写在了firebase.json文件中——Firebase实时数据库的安全规则(包括索引配置)并不属于firebase.json的配置范围,而是需要单独放在database.rules.json文件内。

正确操作步骤

  1. 在项目根目录下创建或打开database.rules.json文件(如果之前没有这个文件就新建)
  2. 写入对应你的数据结构的索引规则:
    {
      "rules": {
        "test": {
          ".indexOn": "t"
        }
      }
    }
    
  3. 重启Firebase实时数据库模拟器,它会自动读取这个规则文件;或者执行命令手动启动:
    firebase emulators:start --only database
    
  4. 再次运行你的Python代码:
    test = db.reference('test').order_by_child("t").get()
    

为什么之前的尝试都失败

  • firebase.json中的emulators.database节点仅用于配置模拟器的端口、启动参数等运行设置,不支持写入数据库规则
  • 无论是把规则放在emulators节点下还是database子节点下,firebase.json都不会识别这些规则配置,模拟器自然无法加载到索引设置

内容的提问来源于stack exchange,提问作者Akira Yoshimura

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 06:54:16