我有一份国家/地区列表:
"country": [
{
"countryCode": "AD",
"countryName": "Andorra",
"currencyCode": "EUR",
"population": "84000",
"capital": "Andorra la Vella",
"continentName": "Europe",
"continent": "EU",
"areaInSqKm": "468.0",
"languages": [
"ca"
]
},
{
"countryCode": "AE",
"countryName": "United Arab Emirates",
"currencyCode": "AED",
"population": "4975593",
"capital": "Abu Dhabi",
"continentName": "Asia",
"continent": "AS",
"areaInSqKm": "82880.0",
"languages": [
"ar-AE",
"fa",
"en",
"hi",
"ur"
]
},
etc.
现在我必须在JSON中编写一个Map / Reduce函数来获得这样的输出:
关键:Afrika价值:xxx 关键:亚洲价值:xxx 等
其中'价值'代表每个大洲的国家数量。
我已经尝试过这个Map功能:
function(doc) {
var a
{
for (a in doc.country){
emit(doc.country[a].continentName, 1)
};
}
}
答案 0 :(得分:0)
地图功能:
function(doc) {
var country = doc.country;
var i;
for (i in country) {
emit (country[i].continentName, 1)
};
}
然后你必须使用 Reduce Function :
来减少它function(keys, values) {
return sum(values);}
答案 1 :(得分:0)
我建议发出值null
而不是1
,并使用内置的reduce函数_count
。