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

时间:2015-05-27 16:39:48

标签: mapreduce cloudant

我有一个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缩减器,但这会产生

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

1 个答案:

答案 0 :(得分:0)

尝试在reduce上应用group = true param。

"如果要返回每个键的结果,请使用group = true。 group = true对于仅map或reduce = false视图无效,如果您尝试对非缩小视图进行分组,则会出现错误。"

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