Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Mongodb reduce因值太大而失败_Javascript_Mongodb_Mapreduce - Fatal编程技术网

Javascript Mongodb reduce因值太大而失败

Javascript Mongodb reduce因值太大而失败,javascript,mongodb,mapreduce,Javascript,Mongodb,Mapreduce,我试图在一大组文档上使用map reduce,其中每个文档都有几个字段,我希望将这些字段收集到一个数组中。(每个字段类型的数组)。我认为map reduce是此工作的正确模式,但我收到以下错误: planSummary: COUNT keysExamined:0 docsExamined:0 exception: value too large to reduce code:13070 numYields:3025579 reslen:98 locks:{ Global: { acquireC

我试图在一大组文档上使用map reduce,其中每个文档都有几个字段,我希望将这些字段收集到一个数组中。(每个字段类型的数组)。我认为map reduce是此工作的正确模式,但我收到以下错误:

planSummary: COUNT keysExamined:0 docsExamined:0 exception: value too large to reduce 
code:13070 numYields:3025579 reslen:98 locks:{ Global: { acquireCount: { r: 17765206, w: 5104556 } }, 
Database: { acquireCount: { r: 1627, w: 5104550, R: 6328698, W: 9 }, acquireWaitCount: { w: 1 }, timeAcquiringMicros: { w: 382 } }, 
Collection: { acquireCount: { r: 1627, w: 5104553 } } } protocol:op_command 64490380ms
你知道如何调试或强制它工作吗

**编辑** 添加map和reduce功能以及文档的一般构建

var map = function() {  key = [this.k1, this.k2, this.k3];   emit(key, this); };
var red = function(key, documents){
    var result = documents[0];
    var x1 = [result.x1];
    ...
    var xn = [result.xn];
    for (i = 1; i < documents.length; i++){
        x1.push(documents[i].x1);
        ...
        xn.push(documents[i].xn);
    }
    result.x1 = x1;
    ...
    result.xn = xn;
    return result;
};
var map=function(){key=[this.k1,this.k2,this.k3];emit(key,this);};
var red=功能(键、文档){
var结果=单据[0];
var-x1=[result.x1];
...
var xn=[result.xn];
对于(i=1;i
我无法放置示例对象,但它们是构建的,因为3个字段是键,其他字段是值,它们应该成为列表,就像reduce函数中所做的那样


谢谢

您需要显示您正在使用的实际代码,以及您正在使用的数据和预期结果的一些指示。一般来说,
mapReduce
实际上只应该在无法应用
.aggregate()
的情况下使用,而在现代版本中,很少有这种情况不能应用。