小编Ild*_*dar的帖子

在 Firebase 中按数组值搜索

我通过 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/*"] …

firebase firebase-realtime-database

5
推荐指数
1
解决办法
2729
查看次数