使用多个键再次减少数据

Reduce data again with multiple keys

我有一个统计每个城市报告的视图

function (doc) {
  if(doc.type == "report")
  {
     emit(doc.city_name, null);
  }
}

然后我用 _count 减少它,它产生这些值:

{'key': 'South Tampa', 'value': 2}
{'key': 'Sebring', 'value': 19}
{'key': 'Satsuma', 'value': 3}
{'key': 'Palm Desert', 'value': 1}
{'key': 'Indio', 'value': 1}

目前,我使用此视图的多个键(例如 ["Indio", "Satsuma"])发出请求,并将它们相加在 python 中。

是否可以直接用 CouchDB 求和?

Couchdb List 功能可能会实现您想要的功能。

http://docs.couchdb.org/en/2.1.2/ddocs/ddocs.html#list-functions

为了更好地了解如何使用它,这篇文章可能会有所帮助。 http://guide.couchdb.org/draft/transforming.html

对它们求和的列表函数:

function(head, req){ 
  i = 0; 
  while(row = getRow()){ i += row.value; } 
  send('{ \"total_count\":' + i +'}'); 
}