MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

mapa/redução do mongoDB menos a redução


Ao usar map/reduce, você sempre terá
{ "value" : { <reduced data> } }

Para remover o value você terá que usar um finalize função.

Aqui está o mais simples que você pode fazer para copiar dados de uma coleção para outra:
map = function() { emit(this._id, this ); }
reduce = function(key, values) { return values[0]; }
finalize = function(key, value) { db.collection_2.insert(value); }

Então, quando você executaria normalmente:
db.collection_1.mapReduce(map, reduce, { finalize: finalize });