假设我要查询美国境内的所有place_name
。我的查询或字段应该是什么?
在这里,我将查询粘贴了下来,这仅给我第一个索引,但我想获取所有数据。那我的查询应该是什么。
{
"post_code": 35801,
"country": "United States",
"country_abbreviation": "US",
"places": [
{
"place_name": "Huntsville",
"longitude": -86.5673,
"state": "Alabama",
"state_abbreviation": "AL",
"latitude": 34.7269
},
{
"place_name": "Huntsville12345",
"longitude": -86.5673,
"state": "Alabama",
"state_abbreviation": "AL",
"latitude": 34.7269
}
]
},
当前查询为
"selector": {
"places.0.place_name": {
"$gte": null
}
},
"fields": [
"_id",
"places.0.place_name"
],
"sort": [
{
"places.0.place_name": "asc"
}
]
}
答案 0 :(得分:1)
对于这种查询,您应该使用视图。
您可以创建一个映射以下键的视图:[country,place_name]
地图功能,例如:
function(doc){
if(doc.places){
for(var i in doc.places){
emit([doc.country,doc.places[i].place_name);
}
}
}
这使您可以查询:国家列表和每个国家的地点列表。
如果要显示国家/地区列表,则可以在查询中使用以下参数:group_level=1&group=true
如果您想获得美国的位置:startkey=['United states']