为什么MongoDB中的mapReduce中reduce文件只作用在一个文档上?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

为什么MongoDB中的mapReduce中reduce文件只作用在一个文档上?

2016-02-29 16:48:26 2568 0

刚接触MongoDB,看到mapReduce这里不是很清楚,自己编了一段代码,想做个计数,然后发觉map方法出来的value如果只有一个元素的时候,好像不参与到reduce函数的计算中。
如:

var map=function(){
    emit(this.name,{count:1})
}
var reduce=function(key,values){
    var count=0;
    for(var i in values){
        count+=values[i].count*2;
    }
    return {name:key,age:count}

}
db.student.mapReduce(map,reduce,
    {
        out:"test"  
    }
).find()

输出结果为:

 { 
    "_id" : "xly", 
    "value" : {
        "name" : "xly", 
        "age" : NumberInt(4)
    }
}
{ 
    "_id" : "xxx", 
    "value" : {
        "name" : "xxx", 
        "age" : NumberInt(4)
    }
}
{ 
    "_id" : "zzz", 
    "value" : {
        "count" : NumberInt(1)
    }
}

其中name为zzz的数据只有1个。所以在reduce中把count乘以2,在zzz中没有体现。
有没有大神解释一下,是不是跟python的reduce函数一样要接收两个参数还是怎么回事,还有如果只有一个文档的时候怎么对里面的值进行操作?

取消 提交回答
全部回答(0)
相关问答

2

回答

阿里云 MongoDB 云数据库技术优势是什么?

2021-12-14 22:53:17 506浏览量 回答数 2

1

回答

阿里云 MongoDB 云数据库技术优势

2021-01-08 20:18:04 543浏览量 回答数 1

1

回答

云数据库MongoDB支持哪些语言的客户端进行连接?

2020-03-29 12:37:30 514浏览量 回答数 1

0

回答

云数据库 MongoDB 版的使用前须知

2017-10-30 15:30:35 1140浏览量 回答数 0

0

回答

云数据库 MongoDB版使用前须知

2017-10-30 16:04:04 1278浏览量 回答数 0

0

回答

如何在云数据库 MongoDB中重置密码

2017-10-30 16:47:40 1493浏览量 回答数 0

0

回答

如何在云数据库MongoDB 版中获取连接实例七要素

2017-10-30 16:08:23 1461浏览量 回答数 0

0

回答

如何在云数据库 MongoDB 版获取连接实例七要素

2017-10-30 15:37:51 1632浏览量 回答数 0

0

回答

如何在云数据库MongoDB 版中设置白名单

2017-10-30 16:06:28 2216浏览量 回答数 0

0

回答

如何在云数据库 MongoDB 版设置白名单

2017-10-30 15:35:30 1954浏览量 回答数 0
+关注
落地花开啦
喜欢技术,喜欢努力的人
文章
问答
问答排行榜
最热
最新
相关电子书
更多
Data as a Service - 数据即服务 -- MongoDB⾼级应⽤模式
立即下载
State of Security:Apache Spark&Apache Zeppelin
立即下载
《深度解读MongoDB 最全面的增强版本4.4 新特性》
立即下载