Итак, предположим, у меня есть следующие два документа в 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 для функции уменьшения.
Это возвращает мне ключ и значение, как это:
[1970, "Mexico", "North America"] 4