我正在开展一个学校项目,为了额外的功劳,我们可以在我们的Android应用程序中添加一个数据库。我正在使用Firebase,因为我已经听过很多关于它的信息,所以我想学习如何使用它!
我一直在阅读如何组织数据,我对我的具体用例有一些疑问,我希望能找到一些建议。
对于我们的项目,我们需要有一个位置列表,每个位置都有与之关联的属性(地址,名称,他们做什么等)以及这些位置的用户列表。我目前的位置是我的“类别”之一。我不知道这个问题的正确用语,我的意思是在我的json文件中它看起来像这样:
{ "Locations": { "location_1": {...}, "location_2": {...} ...} }
同样,我将用户作为我的json文件中的另一个类别。
我想知道在一个位置跟踪用户的最佳方法是什么?我想把另一个房产保留在一个被称为“占用者”或其他东西的位置,但我不知道这是否过于深入嵌套数据。
答案 0 :(得分:0)
根据上面的评论,当您解释说您必须同时获得用户所在的位置和位置中的所有用户时,您必须创建两个数据结构:
一个用于存储当前用户位置的用户:
- Users
- User_A
- Location: Location_1
- User_B
- Location: Location_2
和一个位置,当您列出时,为每个位置列出位于此位置的用户。
- Location_1
- "Users": {
"alovelace": true,
"ghopper": true,
"eclarke": true
}
使用NoSQL数据库,您应该毫不犹豫地以这样一种方式复制数据,使您的查询变得简单快捷。
我建议您查看最近的Firebase视频,其中非常好地解释了这种方法(该视频是关于Firestore的,但请查看前9分钟):https://www.youtube.com/watch?v=v_hR4K4auoQ