Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /
/ / /

Ejemplos de mongoexport

Esta página muestra ejemplos para mongoexport.

Ejecuta mongoexport desde la línea de comandos del sistema, no desde la mongo shell.

En el siguiente ejemplo, mongoexport exporta datos de la colección contacts en la users base de datos en formato CSV al /opt/backups/contacts.csv archivo.

La instancia mongod a la que mongoexport se conecta se ejecuta en el número de puerto localhost 27017.

Cuando exportes en formato CSV, debes especificar los campos en los documentos a exportar. La operación especifica los campos name y address a exportar.

mongoexport --db=users --collection=contacts --type=csv --fields=name,address --out=/opt/backups/contacts.csv

La vista de salida se ilustraría como sigue:

name, address
Sophie Monroe, 123 Example Road
Charles Yu, 345 Sample Street

Para las exportaciones de CSV únicamente, también puedes especificar los campos en un archivo que contenga la lista de campos a exportar, separados por líneas. El archivo debe tener un único campo por línea.

Por ejemplo, puedes especificar los campos name y address en un archivo fields.txt:

name
address

Luego, usando el --fieldFile opción, especifica los campos a exportar con el archivo:

mongoexport --db=users --collection=contacts --type=csv --fieldFile=fields.txt --out=/opt/backups/contacts.csv

La opción --noHeaderLine se puede utilizar para excluir nombres de campos en una exportación CSV. El siguiente ejemplo exporta los campos name y address de la colección contacts en la base de datos users y utiliza --noHeaderLine para suprimir la salida de los nombres de los campos como la primera línea:

mongoexport --db=users --collection=contacts --type=csv --fields=name,address --noHeaderLine --out=/opt/backups/contacts.csv

La salida CSV se parecería entonces a:

Sophie Monroe, 123 Example Road
Charles Yu, 345 Sample Street

Este ejemplo crea una exportación de la colección contacts de la instancia de MongoDB que se ejecuta en el puerto 27017 del localhost. Esto escribe la exportación en el archivo contacts.json en formato JSON.

mongoexport --db=sales --collection=contacts --out=contacts.json

El siguiente ejemplo exporta la colección contacts de la base de datos marketing desde una instancia remota de MongoDB que requiere autenticación.

Especificar lo siguiente:

Tip

Omita la opción --password para que mongoexport solicite la contraseña:

mongoexport --host=mongodb1.example.net --port=27017 --username=someUser --authenticationDatabase=admin --collection=contacts --db=marketing --out=mdb1-examplenet.json

Alternativamente, puede usar la opción --uri para especificar el host, el puerto, el nombre de usuario, la base de datos de autenticación y la base de datos.

Tip

Omite la contraseña en la string URI para que mongoexport solicite la contraseña:

mongoexport --uri='mongodb://someUser@mongodb0.example.com:27017/marketing?authsource=admin' --collection=contacts --out=mdb1-examplenet.json

Puede exportar solo los resultados de una query proporcionando un filtro de query con la opción --query, y limitar los resultados a una sola base de datos utilizando la opción "--db".

Por ejemplo, este comando devuelve todos los documentos de la colección contacts de la base de datos sales que contienen un campo denominado dept igual a "ABC" y el campo date mayor o igual a ISODate("2018-01-01") (usando el formato canónico para fechas { "$date": "YYYY-MM-DDTHH:mm:ss.mmm<offset>"} )

mongoexport --db=sales --collection=contacts --query='{"dept": "ABC", date: { $gte: { "$date": "2018-01-01T00:00:00.000Z" } }}'

Se debe encerrar el documento de query entre comillas simples ('{ ... }') para garantizar que no haya interacción con el entorno de shell.

Nuevo en la versión 100.1.0.

Para conectarse a un clúster de MongoDB Atlas que se ha configurado para admitir la autenticación mediante credenciales de AWS IAM, proporcione un connection string a mongoexport similar a lo siguiente:

mongoexport 'mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS' <other options>

Conectarse a Atlas usando credenciales de AWS IAM de esta manera utiliza el MONGODB-AWS authentication mechanism y el $external authSource, como se muestra en este ejemplo.

Si utiliza un token de sesión de AWS, proporciónelo también con el valor AWS_SESSION_TOKEN authMechanismProperties, de la siguiente manera:

mongoexport 'mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS&authMechanismProperties=AWS_SESSION_TOKEN:<aws session token>' <other options>

Nota

Si el ID de la clave de acceso de AWS, la clave de acceso secreta o el token de sesión incluyen los siguientes caracteres:

: / ? # [ ] @

esos caracteres deben convertirse utilizando codificación por porcentaje.

Como alternativa, el ID de clave de acceso de AWS, la clave de acceso secreta y, opcionalmente, el token de sesión se pueden proporcionar fuera de la cadena de conexión utilizando las opciones --username, --password y --awsSessionToken, de la siguiente manera:

mongoexport 'mongodb+srv://cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS' --username <aws access key id> --password <aws secret access key> --awsSessionToken <aws session token> <other options>

Cuando se proporcionan como parámetros de línea de comandos, estas tres opciones no requieren codificación por porcentaje.

También se pueden establecer estas credenciales en la plataforma usando variables estándar de entorno AWS IAM. mongoexport comprueba las siguientes variables de entorno cuando se usa el MONGODB-AWS authentication mechanism:

  • AWS_ACCESS_KEY_ID

  • AWS_SECRET_ACCESS_KEY

  • AWS_SESSION_TOKEN

Si se establecen, estas credenciales no necesitan especificarse en la cadena de conexión ni a través de sus opciones explícitas.

Nota

Si se elige usar las variables de entorno de AWS para especificar estos valores, no se pueden mezclar ni combinar con las opciones explícitas o de la cadena de conexión correspondientes para estas credenciales. Se deben utilizar las variables de entorno para el ID de la clave de acceso y la clave de acceso secreta (y el token de sesión si se utiliza), o especificar cada una de estas utilizando las opciones explícitas o de la cadena de conexión.

El siguiente ejemplo establece estas variables de entorno en el shell bash:

export AWS_ACCESS_KEY_ID='<aws access key id>'
export AWS_SECRET_ACCESS_KEY='<aws secret access key>'
export AWS_SESSION_TOKEN='<aws session token>'

La sintaxis para configurar variables de entorno en otros shells será diferente. Consulta la documentación de tu plataforma para obtener más información.

Puedes comprobar que estas variables de entorno se han establecido con el siguiente comando:

env | grep AWS

Una vez configurado, el siguiente ejemplo se conecta a un clúster de MongoDB Atlas usando estas variables de entorno:

mongoexport 'mongodb+srv://cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS' <other options>

Volver

Comportamiento

En esta página