火力地堡表索引

问题描述:

我建立与火力的应用,得到了一个查询,因此它带来的这个论坛。数据按以下模式组织:火力地堡表索引

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

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

亲切的问候

当你需要一个索引添加到动态路径,则表明,与所谓的通配符/美元变量动态路径:

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

这些$变量在解释关于Using $ Variables to Capture Path Segments的文档。

+0

感谢弗兰克。我会试试这个。还有一个问题,如果我可以询问firebase是否支持And或Or子句,例如attr1 =“abcd”或attr2 =“def”。感谢所有帮助。 – user1687711

+0

查询中只能有一个orde和一个条件。有时你可以结合值来创建一个逻辑AND,比如我在这里描述的:http://*.com/questions/26700924/query-based-on-multiple-where-clauses-in-firebase –