MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

mongoDB map/reduce meno la riduzione

Quando usi mappa/riduci ti ritroverai sempre con

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

Per rimuovere il value chiave dovrai usare un finalize funzione.

Ecco il modo più semplice che puoi fare per copiare i dati da una raccolta all'altra:

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

Quindi, quando correresti normalmente:

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