【发布时间】:2017-12-13 09:25:14
【问题描述】:
我想尝试NoSql 并在Firebase 开始我的项目。我的应用程序的数据增加了很多。但是,现在我需要运行一个特定于国家/地区的应用程序,因此根据我的应用程序中的国家/地区显示/过滤数据。
我当前数据的结构如下。
{ clients: {
"04E2LBixKoVn9sGzRvxtMoC7MsF3" : {
"clientName" : "Rising Mall",
"contact" : {
"branches" : {
"-Kx6QoVhr0WpDQ3i68_n" : {
"address" : "Test Location",
"phone" : "999999999",
"country": "USA"
}
},
"mail" : "test@test.edu.np",
"website" : "http://www.test.np"
},
"description" : "Test Description."}
},
"073ezb0UsgetSef0lwk50dhogjM2" : {
"clientName" : "Leather Craft",
"contact" : {
"branches" : {
"-Kx6QoVj_QKM7tjekh_1" : {
"address" : "Test Location",
"phone" : "888888888"
"country": "UK"
}
},
"mail" : "test@test.com",
"website" : "https://www.test.com"
},
"description" : "Test"
}
}
从上面的结构中,我想得到一个国家是“美国”的所有客户的列表。我怎样才能通过在Android中直接查询FirebaseDatabase来做到这一点?可能吗?还是我必须完全改变我的数据库结构?如果我必须重组我的数据库,也请提出解决方案。
更新
我接受了@alex-mamo 的建议,并通过对数据进行非规范化来设计我所有的结构。
Firebase-root
|
--- usClients
|
--- usClientId1 : true
|
--- usClientId2 : true
【问题讨论】:
-
你应该改变你的数据库结构。这是可能的,但需要很多方法
-
@NikunjParadva 对结构有什么建议吗?
标签: android firebase firebase-realtime-database nosql