texto mayor igual hacer ejemplos consultas busquedas buscar avanzadas mongodb mongodb-java mongodb-query

mayor - mongodb ejemplos



Cómo obtener los resultados del comando mongo en un archivo plano (6)

Después de haber perdido el DB que necesita ser el DB real en la respuesta de Peshkira, aquí hay una sintaxis general para un trazador de líneas en shell (suponiendo 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+.

¿Cómo exporto los resultados de un comando MongoDB a un archivo plano?

Por ejemplo, si voy a obtener db.collectionname.find() en un archivo plano.

db.collectionname.find() >> "test.txt" no parece funcionar.


No conozco ninguna forma de hacerlo directamente desde mongo shell, pero puedes obtener mongoexport para ejecutar consultas y enviar 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 la colección de perfiles en la base de datos de modelos que toma el documento JSON para _id = "MRD641000". Funciona para mi.


Utilizar esta

mongo db_name --username user --password password < query1.js >> result.txt


mongoexport --db nombre_bd - colección nombre_colección --csv --out nombre_de_archivo.csv -f campo1, campo2, campo3


puedes probar lo siguiente desde la línea de comando

mongo 127.0.0.1/db --eval "var c = db.collection.find(); while(c.hasNext()) {printjson(c.next())}" >> test.txt

suponiendo que tiene una base de datos llamada ''db'' ejecutándose en localhost y una colección llamada ''colección'', esto exportará todos los registros a un archivo llamado test.txt

Si tiene un script más largo que quiera ejecutar, también puede crear un archivo script.js y simplemente usar

mongo 127.0.0.1/db script.js >> test.txt

espero que esto ayude


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