如何在 Cloudant map/reduce 中进行基本的索引求和?

How do I do a basic indexed sum in Cloudant map/reduce?

我有一个 Cloudant 数据库,其中包含以下文档

{"test": 1, "value": 10}
{"test": 1, "value": 20}
{"test": 2, "value": 100}
{"test": 2, "value": 200}

我想创建一个视图,将给定测试的所有值相加。所以视图将包含

{"rows":[
    {"key":1,"value": 30}
    {"key":2,"value": 300}
]}

(即 30 = 10 + 20 和 300 = 100 + 200)

在 Cloudant 中执行此操作的正确方法是什么?

到目前为止,我已经尝试了以下映射器

function (doc) {
  emit(doc.test, doc.value);
}

使用内置的 _sum reducer,但这给了

{"rows":[
    {"key":null,"value":330}
]}

尝试在您的 reduce 上应用 group=true 参数。

"If you want to return results per key, use group=true. group=true is an invalid for a map-only or reduce=false view, you will get an error if you try to group a non-reduced view."

https://cloudant.com/for-developers/views/