MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

mongoDB map/reduce moins la réduction

Lorsque vous utilisez map/reduce, vous vous retrouverez toujours avec

{ "value" : { <reduced data> } }

Afin de supprimer la value clé, vous devrez utiliser un finalize fonction.

Voici ce que vous pouvez faire de plus simple pour copier des données d'une collection à une autre :

map = function() { emit(this._id, this ); }
reduce = function(key, values) { return values[0]; }
finalize = function(key, value) { db.collection_2.insert(value); }

Ensuite, lorsque vous courriez normalement :

db.collection_1.mapReduce(map, reduce, { finalize: finalize });