Mongo Group遇到限制,试图找到解决方法

时间:2014-05-26 18:31:05

标签: mongodb

我在Mongo中有以下查询。

db.act.group({
    "key": {
        "uid": true,
        "weeka": true
    },
    "initial": {
        "countid": 0,
        "summin": 0
    },
    "reduce": function(obj, prev) {
        if (obj.id != null) if (obj.id instanceof Array) prev.countid += obj.id.length;
        else prev.countid++;
        prev.summin = prev.summin + (parseInt(obj.vmin) + parseInt(obj.mmin)) - 0;
    } 
})

这会收集一个包含用户活动条目的集合,并按周分解。给出用户ID的总和以及他们不同记录的活动分钟的时间。

效果很好。但是,它没有扩展。当我在一整套数据(大约500,000行)上运行时,我得到了

 group command failed: {
    "errmsg" : "exception: group() can't handle more than 20000 unique keys",
    "code" : 10043,
    "ok" : 0

有没有人知道解决这个问题的方法,我看着试图用map reduce来做,但是无法弄清楚如何让它在多个项目上进行分组。

谢谢!

0 个答案:

没有答案