如何通过密钥检索多个对象?

时间:2015-08-22 12:22:59

标签: firebase firebase-realtime-database

我只是在查看docs,但无法找到任何内容。

因此,我的网络应用程序的结构与此网站中的结构类似。

为简单起见,我们假设我的应用只有questionstags编目。正如文档中所建议的那样,我们将数据存储为平坦的非标准化结构(例如

{
  "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一个输入。我想(我希望)我在这里遗漏了一些东西。它是什么?

如果我真的不能这样做,我如何在这里按标签搜索?

0 个答案:

没有答案