首页 文章

Firebase表索引

提问于
浏览
1

我正在使用firebase构建一个应用程序,得到一个查询,因此将它带到这个论坛 . 数据按以下模式组织

Favourite
  --> Email Provider
        --> email Id
           - key (e.g. -K_EL-PS-1FJ-Dz2kqV7)
             -- attr1
             -- attr2
             -- attr3
             -- attr4

现在,每个用户都会更改电子邮件提供商和电子邮每种组合可以有多个记录(收藏夹) . 现在我想获取电子邮件提供商和电子邮件ID组合的所有记录,其中attr2 =“abc” . 同样,当attr3 =“cde”时,我想获得相同组合的所有记录 . 我可以得到他的工作,但得到一个警告(FIREBASE警告:使用未指定的索引 . 考虑添加“.indexOn”) . 我能理解并欣赏这个警告 . 问题是,如何在此场景中指定索引 . 我知道第一级元素(“收藏”),而不是第二级和第三级元素 . 感谢任何帮助 .

亲切的问候

1 回答

  • 4

    当您需要向动态路径添加索引时,使用所谓的通配符/美元变量指示该动态路径:

    {
      "rules": {
        "Favourite": {
          "$providerId": {
            "$emailId": {
              ".indexOn": ["attr1", "attr2", "attr3", "attr4"]
            }
          }
        }
      }
    }
    

    这些$变量在Using $ Variables to Capture Path Segments的文档中有解释 .

相关问题