2012-05-10 31 views
0

我有两个类别:的MongoDB - MapReduce的一个集合到第二收集

  • 订单:{_id,的OrderId,参数,[默认为空摘要]等}
  • 批次:{_id ,OrderId,Phase1 {Planned,Done},Phase2 {Planned,Done}等}

订单有0..n个批次(“生产批次”)。 (我正在使用_id和“OrderId”,因为它来自外部系统。)

我正在对“批处理”执行map-reduce。

结果是:

{ 
_id: ORDER_ID, 
value: { 
    Phase1: {Planned: 100, Done: 60}, 
    Phase2: {Planned: 60, Done: 20} 
} 

在收集 “order_summary”。

如何将此结果插入集合“Order”(确切为Order.Summary)?这可能吗?

回答

1

Map-Reduce约为汇总而不是约修改。基于Map-Reduce操作结果的进一步操作取决于你和你的代码,完全超出MR的范围。

+0

感谢您的回复。我使用map-reduce将它与DBRef中的“order_summary”集合做到“order”集合。 – Adrian

0

它并不是真的为此设计的,但是您是否尝试过使用finalize函数为您做这件事?否则,执行此工作的正常位置是在map-reduce完成时运行的客户端代码中。

+0

我有另一个map-reduce,因此我将它与DBRef分别保存到“order”集合中。 – Adrian