2016-08-12 73 views

回答

1

我认为如果您使reduce函数构建一个所有映射值的数组,那么应该给你你想要的。这可以这样实现(未经测试,因为我唯一的服务器非常繁忙):

var map = function(){ 
    // whatever you want to group your values 

    emit (key, value); 
} 


var reduce = function(mapKey, mapVal){ 
    redVal = { 
     "mapped_vals" : [] 
    }; 

    for(var idx=0; idx< mapVal.length; idx++){ 
     redVal.mapped_vals.push(mapVal); 
    }; 

    return redVal; 
} 


db.col.mapReduce(map, reduce, {out: "mrOut"}) 
+0

感谢@Azwok, –

+0

@Gaurav如果这个答案帮助你和你产生所需的输出,请接受的答案。或者,如果它不起作用,请突出显示什么是错误的,我们可以寻找更好的答案或改进这一个。 – Azwok

+0

它工作,但它的内存不足,所以我使用查询选项来减少数据集 –