我通过 REST API 使用 Firebase。我有以下数据库结构:
{
"categories" : {
"Cat1" : {},
"Cat2" : {},
"Cat3" : {},
"Cat4" : {}
},
"items" : {
"item1" : {
"categories": ["Cat1", "Cat3"]
},
"item2" : {
"categories": ["Cat1", "Cat3"]
},
"item3" : {
"categories": ["Cat1", "Cat2", "Cat3"]
},
"item4" : {
"categories": ["Cat4"]
}
}
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我们在类别和项目之间有“N <-> N”类型的关系(一个类别可以有多个项目,一个项目可以在多个类别中)。
现在我想通过 Firebase REST API 获取 Cat1 的所有项目,但我做不到。
正如我们所知,数组存储在 Firebase 中,就像具有完整索引的地图一样:
"categories": {
"0": "Cat1",
"1": "Cat2",
"2": "Cat3",
}
Run Code Online (Sandbox Code Playgroud)
所以,我添加".indexOn": ["categories/*"] …