Javascript Mongodb reduce因值太大而失败
我试图在一大组文档上使用map reduce,其中每个文档都有几个字段,我希望将这些字段收集到一个数组中。(每个字段类型的数组)。我认为map 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
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()
的情况下使用,而在现代版本中,很少有这种情况不能应用。