2012-05-10 2 views
0

У меня есть две коллекции:MongoDB - MapReduce одна коллекция во вторую коллекцию

  • Заказ: {_id, OrderId, параметры, [по умолчанию пустой Резюме] и т.д.}
  • Batch: {_ID , OrderId, Phase1 {Planned, Done}, Phase2 {Planned, Done} и т. Д.}

Заказ имеет 0..n партий («партия производства»). (Я использую _id и «OrderId», потому что это из внешней системы.)

Я делаю map-reduce на «Batch».

Результат:

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

в коллекции "order_summary".

Как вставить этот результат в коллекцию «Заказ» (в точности: Order.Summary)? Это возможно?

ответ

1

Map-Reduce около агрегация и не о модификация. Дальнейшие операции, основанные на результате операции Map-Reduce, зависят от вас и вашего кода и полностью выходят за рамки MR.

+0

Спасибо за ответ. Я делаю это с помощью map-reduce для коллекции «order_summary» с DBRef для коллекции «заказать». – Adrian

0

Это не предназначено для этой цели, но вы пытались использовать функцию финализации, чтобы сделать это за вас? В противном случае, нормальное место для выполнения этой работы - это код на стороне клиента, который запускается при завершении сокращения карты.

+0

У меня есть другой снимок карты, поэтому я храню его в отдельных коллекциях с DBRef для коллекции «заказать». – Adrian

Смежные вопросы