MongoDB mapReduce 实例

下面的例子是在小数据下测试的,我尝试在单机的千万级别测试,等很久都没结果...

 

数据有表:crawler.videos,表结构是: _id, playUrl, siteId...

只有_id是有索引的,siteId不同的值分别代表不同的网站。值有:1,2,3三个值。

现在要统计数据库中每个网站的所含有的id数。就是相当于在mySql中select count(_id),siteId from videos group by siteId 的语句。

以siteId分组,统计各siteId所含有的id数。在mongo中,可以通过group函数来做,也可以通过mapReduce来做,现记录两种做法:

 

通过group()函数

语法:
db.coll.group(
{key: { fieldToGroup : true },
cond: { condition_where },
reduce: function(obj , prev) { logical_sentenct; },
initial: { initial_values }
});

对于上述的需求,可以这样写:
use crawler;
db.videos.group(
{key:{siteId:true},
reduce:function(obj,prev){ prev.count++;},
ini
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值