如何在Realtime Database文件夹不固定时添加.indexOn索引?
Firebase Realtime Database动态路径的索引配置方法
当然可以实现动态规则配置,不用写死具体的节点ID。Realtime Database的安全规则支持通配符语法,用$变量名来匹配路径中的任意动态节点,完美适配你这种多层动态文件夹的场景。
针对你收到的警告,对应的规则配置应该写成这样:
{ "rules": { "comments": { "evChargers": { "$chargerId": { "$userId": { ".indexOn": "id" } } } } } }
这里的$chargerId会匹配路径中类似D6A3D94D-1F2F-467B-A6C5-F6D9BF7D1C02的动态充电器ID,$userId则匹配AKsxbJAifSbsIhFONMSFT6UTarS2这类动态用户ID。配置后,Realtime Database会自动为所有符合该路径结构的节点下的id字段创建索引,既解决客户端过滤数据的性能问题,也能消除你收到的警告。
通配符可以多层嵌套使用,完全覆盖动态路径的需求,不用为每个具体的ID单独配置规则。
内容的提问来源于stack exchange,提问作者Iraklis Eleftheriadis
相关产品推荐
相关产品推荐

