我之前从未使用过NoSQL数据库,因此我对它们的工作方式感到有些困惑。我试图建立一个城市的吸引力数据库。我有一个关键和每个城市的价值。在每个城市下,我想要一个景点列表。
问题是每个景点都需要自己的关键。如果我给每个景点提供自己的密钥,那么如何使用单个查询返回城市的所有景点?难道我不需要为每个键运行查询来获取每个值吗?
我基本上试图找出如何设置数据库,以便我可以在London
上运行查询并获取其下列出的三个项目。
答案 0 :(得分:1)
首先,你必须为你的Attraction创建一个包含描述等的POJO(普通旧Java对象)。变量需要与数据库中的键一致:
Numbers
接下来,您将拥有如下数据库结构:
@IgnoreExtraProperties
public class Attraction{
String name, description1, descrition2;
//Other variables/keys
String getName(){
return this.name;
}
void setName(String name){
this.name = name;
}
//Other getter/setter methods
public Attraction(){}
}
然后您可以使用以下命令执行查询:
City
---Attraction Name
------Description 1
------Description 2
然后将其与听众结合以获得景点并将其存储在列表中:
DatabaseReference ref = databaseReference.child("City").child("London");
如果这有助于您,请告诉我。