Object couchdb erlang reduce-聚合对象

Object couchdb erlang reduce-聚合对象,object,view,erlang,couchdb,reduce,Object,View,Erlang,Couchdb,Reduce,假设我有一个发射以下对象的贴图 {"basePoints": 2000, "bonusPoints": 1000} {"basePoints": 1000, "bonusPoints": 50} {"basePoints": 10000, "bonusPoints": 5000} 我如何用Erlang(不是javascript)编写一个reduce来返回如下聚合对象: {"basePoints": 13000, "bonusPoints": 6050} (如果我能帮助的话,我不想写两个单独的

假设我有一个发射以下对象的贴图

{"basePoints": 2000, "bonusPoints": 1000}
{"basePoints": 1000, "bonusPoints": 50}
{"basePoints": 10000, "bonusPoints": 5000}
我如何用Erlang(不是javascript)编写一个reduce来返回如下聚合对象:

{"basePoints": 13000, "bonusPoints": 6050}
(如果我能帮助的话,我不想写两个单独的视图,分别给出每个值)


非常感谢

实际上您不需要特殊的reduce,在这种情况下,您可以使用标准的
\u sum
,因为它不仅可以对数字进行求和,还可以对数字数组进行求和

只需为
基点发出
[basePointsNum,0]
,为
基点发出
[0,bonusPointsNum]
。或者,如果一个文档中有两个字段,则可能会发出
[basePointsNum,bonusPointsNum]

使用内置的
\u sum
进行缩减后,您将收到一个由两个数字组成的数组,每个数字都是相应索引列的总和。这项功能似乎没有文档记录,但是对CouchDB和PockDB都有效,而且速度很快