火力地堡表索引
问题描述:
我建立与火力的应用,得到了一个查询,因此它带来的这个论坛。数据按以下模式组织:火力地堡表索引
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的文档。
感谢弗兰克。我会试试这个。还有一个问题,如果我可以询问firebase是否支持And或Or子句,例如attr1 =“abcd”或attr2 =“def”。感谢所有帮助。 – user1687711
查询中只能有一个orde和一个条件。有时你可以结合值来创建一个逻辑AND,比如我在这里描述的:http://stackoverflow.com/questions/26700924/query-based-on-multiple-where-clauses-in-firebase –