Volcar la colección Mongo en formato JSON
Frecuentes
Visto 129,693 equipos
5 Respuestas
212
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 utiliza la salida estándar (documentos)
--jsonArray
: genera un documento json válido, en lugar de un objeto json por línea (documentos)
--pretty
: salidas con formato json (documentos)
Respondido 01 Abr '20, 18:04
Utilice la marca -d para especificar qué base de datos utilizar. - Reimund
Si desea un JSON bastante impreso (por ejemplo, para inspeccionar una colección durante el desarrollo) use el --pretty
bandera: mongoexport -d mydatabase -c mycollection --pretty
- max truxa
Si Mongo está ubicado en un host diferente, aquí hay un ejemplo del documento de Mongo mongoexport --host mongodb1.example.net --port 37017 --username user --password "pass" --collection contacts --db marketing --out mdb1-examplenet.json
- ¿Qué sería genial?
Parece que --pretty
desapareció a partir de la versión 2.6.10. - agua con hielo
Supongo que este método exporta en formato JSON extendido de Mongodb. Por ejemplo, las fechas son como ISODATE ("2021-12 -...."). Tuve problemas al analizar este formato con Apache Drill. No sé si puede anular la exportación para generar en JSON conocido. - ᐅ devrimbaris
130
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 preserva 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.
También, trabaja para 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.
Respondido el 11 de enero de 18 a las 09:01
¿Existe un ejemplo de lo que los "datos BSON enriquecidos" no sobrevivirían a mongoexport
/mongoimport
¿viaje ida y vuelta? - andrewdontn
Agrega soporte para tipos de datos como Date y binary que no son compatibles con JSON. Además, más rápido para codificar y decodificar bsonspec.org - priyanshu chauhan
6
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
archivo reside =>
C:\MongoDB\Server\3.4\bin
de lo contrario no funcionará diciendo que no reconoce mongoexport
mando.
Respondido 24 Feb 18, 23:02
¿Alguien sabe de un formateador que formatee json normal al formato tonto de "línea única sin coma" que MongoDB espera al importar? - conor909
3
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
Lee más aquí: http://www.mongodb.org/display/DOCS/mongoexport
Respondido el 10 de enero de 17 a las 10:01
-4
Si desea volcar todas las colecciones, ejecute este comando:
mongodump -d {DB_NAME} -o /tmp
Generará todos los datos de las colecciones en json
y bson
extensiones en /tmp/{DB_NAME}
directorio
Respondido 12 Abr '17, 08:04
De hecho, todavía está volcando bson y metadata.bson :-( - Prasad
Esta respuesta es incorrecta. mongodump
emite datos en BSON
formato. Otras respuestas referidas correctamente mongoexport
como la herramienta adecuada. - cristian dechery
Esto funciona para mí, está generando toda la colección en una carpeta tmp con archivos bson y json. Usé mongodump -d {dbname} -o tmp - shyamzzp
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas json mongodb dump or haz tu propia pregunta.
mongoexport -d <database> -c <collection_name> --out <xxx.json> --pretty --host <host> --port <port> --username <user> --authenticationDatabase admin
Puede especificar elhost
,port
,username
,password
así y la base de datos de autenticación predeterminada esadmin
. - Max Peng