Mongodb mapreduce 例子

                                mongodb mapreduce

    mapReduce 其实是一种编程模型,用在分布式计算中,其中有一个“map”函数,一个”reduce“函数。

    ① map:

          这个称为映射函数, 里面会调用 emit(key,value), 集合会按照你指定的 key

          进行映射分组。

    ② reduce:

         这个称为简化函数,会对 map 分组后的数据进行分组简化,注意:在reduce(key,value)中的 key 就是

         emit 中的 key,vlaue 为 emit 分组后的 emit(value)的集合,这里也就是很

         多{"count":1}的数组。

    ③ mapReduce:

         这个就是最后执行的函数了,参数为 map,reduce 和一些可选参数

      

> db.person.insert({"name":"hxc","age":20});
> db.person.insert({"name":"hxc","age":24});
> db.person.insert({"name":"zj1","age":34});
> db.person.insert({"name":"xx","age":32});
> db.person.insert({"name":"abcdweb","age":32});
> db.person.insert({"name":"abcdweb","age":32});
> db.person.insert({"name":"xx","age":32});

> var map = 
  function(){
	emit(this.name,{count:1});

  }

> var reduce =
  function (key,value){
	var result={count:0};
        for(var i=0;i<value.length;i++){
	 result.count +=value[i].count;
	
	}
	return result;
  }

> db.person.mapReduce(map,reduce,{"out":"collection"});

> db.collection.find();

 

 

       result: "存放的集合名“;

       input:传入文档的个数。

       emit:此函数被调用的次数。

       reduce:此函数被调用的次数。

       output:最后返回文档的个数。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值