Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.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-重新加入分割mapreduce任务_Javascript_Mongodb_Mapreduce - Fatal编程技术网

Javascript MongoDb-重新加入分割mapreduce任务

Javascript MongoDb-重新加入分割mapreduce任务,javascript,mongodb,mapreduce,Javascript,Mongodb,Mapreduce,我有一个map reduce函数,为了提高效率,不应该立即运行它。因此,我根据一系列ID对其进行了拆分,结果得到了一堆单独的集合。我现在想加入它们,并合并所有mapreduce结果。结果表仍然应该只有一个键,以及一个包含组合临时表值的值数组 我曾尝试在输出中使用“reduce”,这样现有表就可以得到更新,但这不起作用: res = db.People.mapReduce(m, r, {query:{xyz}, out:{reduce:"FoodPerPeople"}}); (编辑)它为我提供嵌

我有一个map reduce函数,为了提高效率,不应该立即运行它。因此,我根据一系列ID对其进行了拆分,结果得到了一堆单独的集合。我现在想加入它们,并合并所有mapreduce结果。结果表仍然应该只有一个键,以及一个包含组合临时表值的值数组

我曾尝试在输出中使用“reduce”,这样现有表就可以得到更新,但这不起作用:

res = db.People.mapReduce(m, r, {query:{xyz}, out:{reduce:"FoodPerPeople"}});
编辑)它为我提供嵌套数组:

{
  "_id" : "Banana",
  "value" : ["Bart", ["Joe"]]
}
我理解为什么会发生这种情况——re-reduce函数将输入的值数组视为其自身的值

我正在寻找的示例:

收集1:

{
  "_id" : "Banana",
  "value" : ["Bart"]
}
收集2:

{
  "_id" : "Banana",
  "value" : ["Joe"]
}
组合系列:-我如何得到这个

{
  "_id" : "Banana",
  "value" : ["Bart", "Joe"]
}

很可能您的reduce函数无法重新导出已经减少的数据。您应该阅读此内容,并尝试使reduce函数符合此标准。

您能澄清一下“这不起作用”吗?你会得到一个错误,或者只是意外的结果吗?谢谢。你也可以显示你的map和reduce函数吗?我认为你需要显示你原来的map/reduce函数。您所描述的应该与
reduce
选项一起使用,但您的输出表明您的
map
reduce
函数可能不正确。