【发布时间】:2019-03-24 13:02:11
【问题描述】:
我来自 SQL DB 背景,所以我不知道是否可以使用 Firebase 实时 DB 进行此类查询。
我的 Firebase 实时数据库中有以下结构。我正在尝试找到一种方法来构建一个查询,通过该查询我可以获得一个“服务提供商”所在国家/地区的列表。
使用 SQL,我可以很容易地写出:SELECT DISTINCT Country FROM Address;
我不想返回所有“服务提供者”对象,因为它们可能有数千个!我只想要一个包含国家的字符串列表,最好是 DISTINCT。
示例:如果美国有 3 个服务提供商,加拿大有 5 个,法国有 4 个,那么我的查询将返回 ["USA","Canada",France"]。
"Service-Providers" : {
"PUSH_ID" : {
"address" : {
"area" : "ddd",
"city" : "Berlin",
"country" : "Germany",
"lat" : 0,
"lng" : 0
},
"description" : "Shop",
"firstName" : "fn",
"lastName" : "ln",
"phoneNumbers" : [ "123" ],
"serviceCategory" : "mixed",
"uid" : "PUSH_ID"
}
-
-
-
-
}
【问题讨论】:
-
对象beanth
Service-Providers -> PUSH_ID是一个contry 对象? -
@AlexMamo 不,它是“服务提供者”对象,它包含一个地址对象,以及其他字符串变量和数组。国家/地区是 Address 对象中的一个字段。
-
所以你需要列出
Service-Providers一个国家等于某物的对象?这是正确的吗? -
不,那很容易...我想知道哪些国家/地区有“服务提供商”。示例:如果美国有 3 个服务提供商,加拿大有 5 个,法国有 4 个,那么我的查询将返回 ["USA","Canada",France"]。
标签: android firebase firebase-realtime-database