【发布时间】:2019-04-30 22:08:54
【问题描述】:
所以假设我在 CouchDB 中有以下两个文档:
{
"_id": "197000000002",
"_rev": "1-fbe819b01108f30d2e9e96f3fb46eff8",
"iyear": "1970",
"region_txt": "North America",
"country": "130",
"region": "1",
"country_txt": "Mexico",
"nkill": "1",
"nwound": "1",
}
{
"_id": "197000000003",
"_rev": "1-fbe819b01108f30d2e9e96f3fb46eff8",
"iyear": "1970",
"region_txt": "North America",
"country": "130",
"region": "2",
"country_txt": "Mexico",
"nkill": "3",
"nwound": "1"
}
我想要的是对所有的 nkill 和 nwound 值求和,并有这样的东西:
[1970, "Mexico","North America"] 4, 2
此时我只能对这两个值中的一个或两者进行求和,但这不是我想要的。
我的地图函数现在看起来像这样作为结果返回:
function(doc) {
if(doc.nkill >= 1) {
emit([doc.iyear,doc.country_txt,doc.region_txt],parseInt(doc.nkill));
}
}
我使用 _sum 作为 reduce 函数。
这会返回一个像这样的键和值:
[1970, "Mexico", "North America"] 4
【问题讨论】:
标签: javascript view mapreduce couchdb couchdb-futon