我只是在查看docs,但无法找到任何内容。
因此,我的网络应用程序的结构与此网站中的结构类似。
为简单起见,我们假设我的应用只有questions
由tags
编目。正如文档中所建议的那样,我们将数据存储为平坦的非标准化结构(例如
{
"questions": {
...
},
"tags": {
"tag1": {
"name": "Tag1",
"questions": { "0": true, "1": true }
},
"tag2": {
"name": "Tag2",
"questions": { "2": true, "3": true }
}
}
}
),而不是没有数据复制的规范化结构,如:
{
"questions": {
"0": { "title": ..., "tag": ... },
"1": { "title": ..., "tag": ... },
}
}
使用第一个结构的一个优点是,我可以搜索具有特定标记的问题,而无需先下载所有问题的所有数据:查询/tags/tag1/questions
,将返回所有对象所有问题的关键。现在,我可以查询问题,但我该怎么做?
我不想为每个问题提出10个请求,这似乎浪费时间和性能,但我找不到通过多个密钥进行Firebase过滤的方法。我似乎一次只能给Firebase一个输入。我想(我希望)我在这里遗漏了一些东西。它是什么?
如果我真的不能这样做,我如何在这里按标签搜索?