如何在Firebase实时规则上正确添加索引

时间:2019-01-20 17:02:47

标签: javascript firebase firebase-realtime-database firebase-security-rules

嗨,我一直在尝试为此特定结构添加特定索引:

Firebase database structure

但是事实是,在我从here阅读文档之后,我仍然找不到方法来完成如何在/ c000000001_talks和c000000002_talks上将索引添加到“ uid_to”的任务,并且其他。

仅出于理解目的,c000000001_是租户的前缀,因此租户在表上都有其自己的前缀。

我已经看到Firebase建议创建两个级别的租户\ c000000001 \ talks 租户\ c000000001 \成员

但是该结构已经存在,并且在生产中我们无法再对其进行更改。

1 个答案:

答案 0 :(得分:1)

您可能没有将索引放在规则的正确分支上

尝试一下:

RED-CROSSED_PARENT:
                  {
                   "$talksID": 
                              {
                               ".indexOn": "uid_to"
                               }
                  }

由于您的演讲是相同的结构,因此理想情况下,您应将它们放在同一父“演讲”下,因此“ indexOn”仅适用于Talks子代

RED-CROSSED_PARENT:
                  {
                  Talks:{
                         "$talksID": 
                                   {
                                   ".indexOn": "uid_to"
                                   }
                        }
                   }

我假设您知道如何获取数据库规则