Esportare il risultato del framework di aggregazione mongodb in una nuova raccolta

Voglio salvare il risultato della struttura di aggregazione in una nuova raccolta. So che è imansible con il framework al momento con il comando stesso.

C’è una soluzione nella shell?

Aggiornamento: vedi la risposta di Salvador per un modo più efficiente di farlo in MongoDB 2.6+.


Salva il risultato dell’aggregazione in una variabile e quindi inserisci la sua proprietà result in una nuova raccolta:

 var result = db.foo.aggregate(...); db.bar.insert(result.result); 

A partire da Mongo 2.6.0 puoi farlo in modo nativo senza ulteriori manipolazioni.

 db..aggregate( [ {  }, {  }, ..., { $out : "" } ] ) 

Controlla il nuovo operatore di aggregazione $ per un esempio più dettagliato.

PS in questo modo non sei limitato alla dimensione di 16Mb.

result.result non funziona più, prova aArray ().

 var result = db.coll.aggregate(...); db.bar.insert(result.toArray());