【发布时间】:2011-12-29 17:56:42
【问题描述】:
我有一个 map reduce 函数,为了提高效率,它不应该立即运行。所以我根据一系列 id 拆分它,结果,我得到了一堆单独的集合。我现在想加入他们并结合所有 mapreduce 结果。结果表应该仍然只有一个键,以及一个包含组合临时表值的值数组。
我已经尝试在我的输出中使用“reduce”,以便更新现有表,但这不起作用:
res = db.People.mapReduce(m, r, {query:{xyz}, out:{reduce:"FoodPerPeople"}});
(edit) 它给了我嵌套数组:
{
"_id" : "Banana",
"value" : ["Bart", ["Joe"]]
}
我明白为什么会发生这种情况 - re-reduce 函数将输入的值数组视为本身的值。
我正在寻找的示例:
系列 1:
{
"_id" : "Banana",
"value" : ["Bart"]
}
系列 2:
{
"_id" : "Banana",
"value" : ["Joe"]
}
组合收藏:- 我如何获得这个?
{
"_id" : "Banana",
"value" : ["Bart", "Joe"]
}
【问题讨论】:
-
你能澄清“这不起作用”吗?您是否收到错误或只是意外结果?
-
谢谢。你也能展示你的 map 和 reduce 函数吗?
-
我认为你需要展示你原来的 Map/Reduce 函数。您所描述的内容应该使用
reduce选项,但您的输出表明您的map和reduce函数可能不正确。
标签: javascript mongodb mapreduce