Una opción un poco más simple a partir de 2.6+ es agregar ahora un $out
paso a su agregado para poner los resultados en una colección:
db.collection.aggregate( [ { aggregation steps... }, { $out : "results" } ] )
Entonces solo usa mongoexport
como:
mongoexport -d database -c results -f field1,field2,etc --csv > results.csv
Después de eso, es posible que desee eliminar la colección temporal de la base de datos para que no siga utilizando recursos innecesarios y también para evitar confusiones más adelante, cuando haya olvidado por qué existe esta colección en su base de datos.
db.results.drop()