Cómo obtener los resultados del comando mongo en un archivo plano
Cómo puedo exportar los resultados de un comando MongoDB a un archivo plano
Por ejemplo, si voy a obtener db.collectionname.find()
en un archivo plano.
He intentado db.collectionname.find() >> "test.txt"
no parece funcionar.
6 answers
Puede intentar lo siguiente desde la línea de comandos
mongo 127.0.0.1/db --eval "var c = db.collection.find(); while(c.hasNext()) {printjson(c.next())}" >> test.txt
Suponiendo que tenga una base de datos llamada 'db' ejecutándose en localhost y una colección llamada 'collection', esto exportará todos los registros a un archivo llamado test.txt
Si tiene un script más largo que desea ejecutar, también puede crear un script.archivo js y solo use
mongo 127.0.0.1/db script.js >> test.txt
Espero que esto ayude
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-10-10 16:33:43
No sé cómo hacerlo directamente desde el shell de mongo, pero puedes hacer que mongoexport ejecute consultas y envíe los resultados a un archivo con las opciones-q y-o:
mongoexport -h mongo.dev.priv -d models -c profiles -q '{ $query : { _id : "MRD461000" } }' -o MRD_Series1.json
Las visitas anteriores consultan a la colección de perfiles en la base de datos de modelos tomando el documento JSON para _id = "MRD641000". Funciona para mí.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-10-10 16:31:47
Usa esto
mongo db_name --username user --password password < query1.js >> result.txt
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-05-28 12:48:06
Habiendo perdido la base de datos que necesita ser la base de datos real en la respuesta de Peshkira, aquí hay una sintaxis general para un trazador de líneas en shell (asumiendo que no hay contraseña):
mongo <host>:<db name> --eval "var x = <db name>.<collection name>.<query>; while(x.hasNext()) { printjson( x.next() ) }" >> out.txt
Lo probé tanto en mi mac como en Google Cloud Ubuntu 15 con Mongo 3+.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-10-02 10:14:17
mongoexport --host 127.0.0.1 --port 27017 --username youruser -p yourpass \
-d yourDatabaseName -c collectionName --type csv \
--fields field1,field2 -q '{"field1" : 1495730914381}' \
--out report.csv
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-04-16 06:16:07
Mongoexport db db db_name collection collection collection_name csv csvname out file_name.csv -f campo1,campo2, campo3
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-08-22 18:48:46