¿Hay alguna forma de volcar la colección mongo en formato json? Ya sea en el shell o usando el controlador java. Estoy buscando el que tenga el mejor rendimiento.
¿Hay alguna forma de volcar la colección mongo en formato json? Ya sea en el shell o usando el controlador java. Estoy buscando el que tenga el mejor rendimiento.
Respuestas:
Mongo incluye una utilidad mongoexport (ver documentos) que puede volcar una colección. Esta utilidad utiliza el libmongoclient nativo y probablemente sea el método más rápido.
mongoexport -d <database> -c <collection_name>
También es útil:
-o
: escribe la salida en un archivo, de lo contrario se usa la salida estándar ( docs )
--jsonArray
: genera un documento json válido, en lugar de un objeto json por línea ( docs )
--pretty
: salidas con formato json ( docs )
--pretty
bandera:mongoexport -d mydatabase -c mycollection --pretty
mongoexport --host mongodb1.example.net --port 37017 --username user --password "pass" --collection contacts --db marketing --out mdb1-examplenet.json
--pretty
se ha ido a partir de la versión 2.6.10.
Utilice mongoexport / mongoimport para volcar / restaurar una colección:
Exportar archivo JSON :
mongoexport --db <database-name> --collection <collection-name> --out output.json
Importar archivo JSON :
mongoimport --db <database-name> --collection <collection-name> --file input.json
ADVERTENCIA
mongoimport
ymongoexport
no conserve de manera confiable todos los tipos de datos BSON enriquecidos porque JSON solo puede representar un subconjunto de los tipos admitidos por BSON. Como resultado, los datos exportados o importados con estas herramientas pueden perder algo de fidelidad.
Además, http://bsonspec.org/
BSON está diseñado para ser rápido de codificar y decodificar. Por ejemplo, los enteros se almacenan como enteros de 32 (o 64) bits, por lo que no es necesario analizarlos desde y hacia el texto. Esto usa más espacio que JSON para enteros pequeños, pero es mucho más rápido de analizar.
Además de la compacidad, BSON agrega tipos de datos adicionales que no están disponibles en JSON, en particular los tipos de datos BinData y Date.
mongoexport
/ mongoimport
de ida y vuelta?
Aquí está el comando mío como referencia:
mongoexport --db AppDB --collection files --pretty --out output.json
En Windows 7 (MongoDB 3.4), uno tiene que mover el cmd al lugar donde mongod.exe
y mongo.exe
reside el archivo =>
C:\MongoDB\Server\3.4\bin
de lo contrario no funcionará diciendo que no hace recongnize mongoexport
comando.
De la documentación de Mongo:
La utilidad mongoexport toma una colección y exporta a JSON o CSV. Puede especificar un filtro para la consulta o una lista de campos para generar
Lea más aquí: http://www.mongodb.org/display/DOCS/mongoexport
Si desea volcar todas las colecciones, ejecute este comando:
mongodump -d {DB_NAME} -o /tmp
Generará todos los datos de las colecciones json
y las bson
extensiones en el /tmp/{DB_NAME}
directorio.
mongodump
emite datos en BSON
formato. Otras respuestas referidas correctamente mongoexport
como la herramienta adecuada.
mongoexport -d <database> -c <collection_name> --out <xxx.json> --pretty --host <host> --port <port> --username <user> --authenticationDatabase admin
Puede especificar elhost
,port
,username
,password
de esta manera y la base de datos de autenticación por defecto esadmin
.