При использовании map / reduce вы всегда будете иметь
{ "value" : { <reduced data> } }
. Чтобы удалить клавишу value
, вам нужно будет использовать функцию finalize
.
Ниже вы можете скопировать данные из одной коллекции в другую:
map = function() { emit(this._id, this ); }
reduce = function(key, values) { return values[0]; }
finalize = function(key, value) { db.collection_2.insert(value); }
Тогда, когда вы будете работать как обычно:
db.collection_1.mapReduce(map, reduce, { finalize: finalize });