Esta documentación es para la versión 100.14.1 de mongoexport.
Synopsis
mongoexport es una herramienta de base de datos que produce una exportación JSON o CSV de datos almacenados en una instancia de MongoDB.
Ejecute mongoexport desde la línea de comandos del sistema, no desde el
mongo caparazón.
mongoexport no es una herramienta para respaldar implementaciones. Si deseas crear una solución de copia de seguridad, consulta Respaldo y restauración de una implementación autogestionada con las herramientas de MongoDB.
Tip
mongoimport que proporciona la capacidad correspondiente de importación de datos estructurados.
Nota
Si vas a archivar datos obsoletos para ahorrar en costos de almacenamiento, considera Online Archive en MongoDB Atlas. Online Archive archiva automáticamente los datos a los que se accede con poca frecuencia en buckets S3 totalmente gestionados para una jerarquización de datos rentable.
Puedes usar los MongoDB Database Tools para migrar de una implementación autoalojada a MongoDB Atlas. MongoDB Atlas es el servicio totalmente gestionado para las implementaciones de MongoDB en la nube. Para aprender más, consulta Seed con mongorestore.
Para aprender todas las formas en que puede migrar a MongoDB Atlas, consulte Migrar o importar datos.
Sintaxis
mongoexport sintaxis:
mongoexport --collection=<coll> <options> <connection-string>
Se debe especificar la collection a exportar. Si no se especifica un output file, mongoexport guarda en la salida estándar (por ejemplo, stdout).
Conéctese a una instancia de MongoDB
Para conectarse a una instancia local de MongoDB que se ejecuta en el puerto 27017, no tiene que especificar el host ni el puerto.
Por ejemplo, para exportar la collection especificada al output file especificado desde una instancia local de MongoDB que se ejecuta en el puerto 27017:
mongoexport --collection=events --db=reporting --out=events.json
Para especificar un host o puerto de la instancia de MongoDB, puede:
Especificar el nombre de host y el puerto en el
--uri connection string:mongoexport --uri="mongodb://mongodb0.example.com:27017/reporting" --collection=events --out=events.json [additional options] Al utilizar la
--uri connection string, la base de datos se puede especificar como parte de la string.Especificar el nombre de host y el puerto en el
--host:mongoexport --host="mongodb0.example.com:27017" --collection=events --db=reporting --out=events.json [additional options] Especificar el nombre de host y el puerto en el
--hosty el--port:mongoexport --host="mongodb0.example.com" --port=27017 --collection=events --db=reporting --out=events.json [additional options]
Para obtener más información sobre las opciones disponibles, consulta Opciones.
Conectarse a un set de réplicas
Nota
mongoexport no es una herramienta para respaldar datos. Para hacer una copia de seguridad del set de réplicas, se debe consultar Copia de seguridad y restauración de una implementación autogestionada con las herramientas de MongoDB.
Para conectarse a un set de réplicas y exportar los datos:
Especificar el nombre del set de réplicas y los nodos en el
--uri connection string:mongoexport --uri="mongodb://mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/reporting?replicaSet=myReplicaSetName" --collection=events --out=events.json [additional options] Al utilizar la
--uri connection string, la base de datos se puede especificar como parte de la string.Especificar el nombre del set de réplicas y los nodos en el
--host:mongoexport --host="myReplicaSetName/mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com" --collection=events --db=reporting --out=events.json [additional options]
Por defecto, mongoexport lee desde el primario del set de réplicas. Para sobreescribir el valor por defecto, puedes especificar la preferencia de lectura:
Puede especificar la preferencia de lectura en el
--uri connection stringmongoexport --uri="mongodb://mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/reporting?replicaSet=myReplicaSetName&readPreference=secondary" --collection=events --out=events.json [additional options] Si especificas las etiquetas de preferencia de lectura, incluye la opción
readPreferenceTags:mongoexport --uri="mongodb://mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/reporting?replicaSet=myReplicaSetName&readPreference=secondary&readPreferenceTags=region:east" --collection=events --out=events.json [additional options] Al utilizar la
--uri connection string, la base de datos se puede especificar como parte de la string.Puedes especificar la preferencia de lectura usando la opción de línea de comandos
--readPreference. La opción de la línea de comandos acepta una string solo si se especifica el modo de preferencia de lectura:mongoexport --host="myReplicaSetName/mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017" --readPreference=secondary --collection=events --db=reporting --out=events.json [additional options] O bien, la opción de línea de comandos puede tomar un documento entre comillas
'{ mode: <mode>, tagSets: [ <tag1>, ... ], maxStalenessSeconds:<num>}'para especificar la moda, los conjuntos de etiquetas de preferencia de lectura opcionales y la opción maxStalenessSeconds: opcional.mongoexport --host="myReplicaSetName/mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017" --readPreference='{mode: "secondary", tagSets: [ { "region": "east" } ]}' --collection=events --db=reporting --out=events.json [additional options]
Para obtener más información sobre las opciones disponibles, consulta Opciones.
Conectarse a un clúster fragmentado
Nota
mongoexport no es una herramienta para respaldar datos. Para respaldar el clúster, se debe consultar Copia de seguridad y restauración de un clúster autogestionado.
Para conectarse a un clúster fragmentado para exportar los datos, se puede hacer de la siguiente manera:
Especificar el nombre de host de la instancia
mongosen la--uri connection stringmongoexport --uri="mongodb://mongos0.example.com:27017/reporting" --collection=events --out=events.json [additional options] Al utilizar la
--uri connection string, la base de datos se puede especificar como parte de la string.Especifica el nombre de host y el puerto de la instancia de
mongosen el--hostmongoexport --host="mongos0.example.com:27017" --collection=events --db=reporting --out=events.json[additional options]
Por defecto, mongoexport lee desde el primario del set de réplicas del fragmento. Para sobreescribir el valor por defecto, puedes especificar la preferencia de lectura:
Puede especificar la preferencia de lectura en el
--uri connection stringmongoexport --uri="mongodb://mongos0.example.com:27017/reporting?readPreference=secondary" --collection=events --out=events.json [additional options] Si especificas las etiquetas de preferencia de lectura, incluye la opción
readPreferenceTags:mongoexport --uri="mongodb://mongos0.example.com:27017/reporting?readPreference=secondary&readPreferenceTags=region:east" --collection=events --out=events.json [additional options] Al utilizar la
--uri connection string, la base de datos se puede especificar como parte de la string.Puedes especificar la preferencia de lectura usando la opción de línea de comandos
--readPreference. La opción de la línea de comandos acepta una string solo si se especifica el modo de preferencia de lectura:mongoexport --host="mongos0.example.com:27017" --readPreference=secondary --collection=events --db=reporting --out=events.json [additional options] O bien, la opción de línea de comandos puede tomar un documento entre comillas
'{ mode: <mode>, tagSets: [ <tag1>, ... ], maxStalenessSeconds:<num>}'para especificar la moda, los conjuntos de etiquetas de preferencia de lectura opcionales y la opción maxStalenessSeconds: opcional.mongoexport --host="mongos0.example.com:27017" --readPreference='{mode: "secondary", tagSets: [ { "region": "east" } ]}' --collection=events --db=reporting --out=events.json [additional options]
opciones
--verbose, -vAumenta la cantidad de reportes internos devueltos en la salida estándar o en las entradas de registro. Aumenta el nivel de verbosidad con la forma
-vincluyendo la opción varias veces (por ejemplo,-vvvvv.)
--quietEjecuta
mongoexporten modo silencioso que intenta limitar la cantidad de salida.Esta opción suprime:
Salida de comandos de base de datos
Actividad de replicación
Eventos de conexión aceptada y cerrada
Todos los registros, incluidos los mensajes de error, excepto aquellos que ocurren al analizar las opciones
--config=<filename>Nuevo en la versión 100.3.0.
Especifica la ruta completa a un archivo de configuración YAML que contiene valores confidenciales para las siguientes opciones
mongoexport:Esta es la forma recomendada de especificar una contraseña para
mongoexport, además de especificarla mediante una solicitud de contraseña. Puedes utilizar cualquier combinación de los argumentos en el archivo.El archivo de configuración tiene la siguiente estructura:
password: <password> uri: mongodb://mongodb0.example.com:27017 sslPEMKeyPassword: <password> Si especifica la opción
passwordsin especificaruri, puede especificar los otros componentes de la cadena de conexión utilizando las opciones de línea de comandosmongoexport, como--usernamey--host.Asegúrate de proteger este archivo con los permisos adecuados del sistema de archivos.
Importante
Al utilizar la opción
--config, ten en cuenta las siguientes limitaciones y comportamientos:Si proporcionas el campo
passwordy una cadena de conexión en el campouricon una contraseña conflictiva,mongorestoreresultará en un error.Si especifica un archivo de configuración con
--configy también utiliza las opciones de línea de comandos--password,--urio--sslPEMKeyPasswordmongoexport, la opción de línea de comandos anulará la opción correspondiente del archivo de configuración.
--uri=<connectionString>Especifica la cadena de conexión URI resoluble de la implementación de MongoDB, entre comillas:
--uri="mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]" A partir de la versión
100.0demongoexport, la cadena de conexión puede proporcionarse alternativamente como un parámetro posicional, sin utilizar la opción--uri:mongoexport mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]] Como parámetro de posicionamiento, la cadena de conexión puede especificarse en cualquier punto de la línea de comandos, siempre que comience con
mongodb://omongodb+srv://. Por ejemplo:mongoexport --username joe --password secret1 mongodb://mongodb0.example.com:27017 --ssl Solo se puede proporcionar una cadena de conexión. Intentar incluir más de uno, ya sea utilizando la opción
--urio como argumento posicional, resultará en un error.Para obtener información sobre los componentes de la cadena de conexión, consulta la documentación del formato URI de la cadena de conexión.
Nota
Algunos componentes en el
connection stringpueden especificarse alternativamente utilizando sus propias opciones explícitas de línea de comandos, como--usernamey--password. El proveer una cadena de conexión, mientras también se utiliza una opción explícita y se especifica información conflictiva, resultará en error.Nota
Si se usa
mongoexporten Ubuntu 18.04, se puede recibir un mensaje de errorcannot unmarshal DNSal usar cadenas de conexión SRV (en el formatomongodb+srv://) con la opción--uri. Si es así, se debe usar una de las siguientes opciones en su lugar:la opción
--uricon una cadena de conexión no SRV (en la formamongodb://)la opción
--hostpara especificar el host al cual conectarse directamente
Advertencia
En algunos sistemas, una contraseña proporcionada en una cadena de conexión con la opción
--uripuede ser visible para programas de estado del sistema comopsque pueden ser invocados por otros usuarios. Considera en cambio:omitir la contraseña en la cadena de conexión para recibir un aviso interactivo de contraseña, o
utilizando la opción
--configpara especificar un archivo de configuración que contenga la contraseña.
--host=<hostname><:port>, -h=<hostname><:port>Por defecto: localhost:27017
Especifica el nombre de host resoluble de la implementación de MongoDB. Por defecto,
mongoexportintenta conectarse a una instancia de MongoDB que se ejecuta en el host local en el número de puerto27017.Para conectarse a un set de réplicas, especifica el
replSetNamey una lista de nodos iniciales de los miembros del set, tal como se muestra a continuación:--host=<replSetName>/<hostname1><:port>,<hostname2><:port>,<...> Al especificar el formato de la lista del set de réplicas,
mongoexportsiempre se conecta al primario.También puedes conectarte a cualquier Nodo individual del Set de réplicas especificando el host y el puerto de solo ese Nodo:
--host=<hostname1><:port> Si utilizas IPv6 y el formato
<address>:<port>, debes encerrar la parte de una combinación de dirección y puerto entre corchetes (por ejemplo,[<address>]).Alternativamente, también puedes especificar el nombre de host directamente en el
URI connection string. El ofrecer una cadena de conexión, mientras también se utiliza--hosty ademas se especifica información conflictiva, resultará en error.
--port=<port>Por defecto: 27017
Especifica el puerto TCP en el que la instancia de MongoDB escucha las conexiones de los clientes.
Alternativamente, también puedes especificar el puerto directamente en la
URI connection string. Proveer una cadena de conexión, mientras también se utiliza--porty se especifica información conflictiva, dará como resultado un error.
--sslPermite la conexión a un
mongodo a unmongosque tenga habilitado el soporte de TLS/SSL.Alternativamente, también puedes configurar el soporte TLS/SSL directamente en el
URI connection string. Proveer una cadena de conexión, mientras también se utiliza--ssly se especifica información conflictiva, resultará en error.Para obtener más información sobre TLS/SSL y MongoDB, consulta Configurar mongod y mongos para TLS/SSL y Configuración de TLS/SSL para clientes.
--sslCAFile=<filename>Especifica el archivo
.pemque contiene la cadena de certificados raíz de la Autoridad Certificadora. Especifica el nombre del archivo.pemcon rutas relativas o absolutas.Alternativamente, también puedes especificar el archivo
.pemdirectamente en laURI connection string. Proveer una cadena de conexión, mientras también se utiliza--sslCAFiley se especifica información conflictiva, resultará en error.Para obtener más información sobre TLS/SSL y MongoDB, consulta Configurar mongod y mongos para TLS/SSL y Configuración de TLS/SSL para clientes.
--sslPEMKeyFile=<filename>Especifica el archivo
.pemque contiene tanto el certificado TLS/SSL como la clave. Especifica el nombre del archivo.pemcon rutas relativas o absolutas.Esta opción es obligatoria cuando se utiliza la opción
--sslpara conectarse a unmongodomongosque tieneCAFilehabilitado sinallowConnectionsWithoutCertificates.Alternativamente, también puedes especificar el archivo
.pemdirectamente en laURI connection string. Proveer una cadena de conexión, mientras también se utiliza--sslPEMKeyFiley se especifica información conflictiva, resultará en error.Para obtener más información sobre TLS/SSL y MongoDB, consulta Configurar mongod y mongos para TLS/SSL y Configuración de TLS/SSL para clientes.
--sslPEMKeyPassword=<value>Especifica la contraseña para descifrar el archivo de clave del certificado (es decir,
--sslPEMKeyFile). Utiliza la opción--sslPEMKeyPasswordsolo si el archivo de clave del certificado está cifrado. En todos los casos, elmongoexportocultará la contraseña de todos los registros y reportes de salida.Si la llave privada en el archivo PEM está cifrada y no se especifica la opción
--sslPEMKeyPassword, elmongoexportsolicitará una frase de contraseña. Consultar la frase de contraseña del certificado TLS/SSL.Alternativamente, también puedes especificar la contraseña directamente en la
URI connection string. El ofrecer una cadena de conexión, mientras también se utiliza--sslPEMKeyPasswordy ademas se especifica información conflictiva, resultará en error.Para obtener más información sobre TLS/SSL y MongoDB, consulta Configurar mongod y mongos para TLS/SSL y Configuración de TLS/SSL para clientes.
Advertencia
En algunos sistemas, una contraseña proporcionada directamente mediante la opción
--sslPEMKeyPasswordpuede ser visible para los programas de estado del sistema, comops, que pueden ser invocados por otros usuarios. En su lugar, considera usar la opción--configpara especificar un archivo de configuración que contenga la contraseña.
--sslCRLFile=<filename>Especifica el archivo
.pemque contiene la Lista de revocación de certificados. Especifica el nombre del archivo.pemcon rutas relativas o absolutas.Para obtener más información sobre TLS/SSL y MongoDB, consulta Configurar mongod y mongos para TLS/SSL y Configuración de TLS/SSL para clientes.
--sslAllowInvalidCertificatesOmite las comprobaciones de validación de los certificados de servidor y permite el uso de certificados no válidos. Si utilizas la configuración
allowInvalidCertificates, MongoDB realiza un registro como advertencia del uso del certificado no válido.Advertencia
Aunque está disponible, evita utilizar la opción
--sslAllowInvalidCertificatesen lo posible. Si necesitas usar--sslAllowInvalidCertificates, utiliza únicamente la opción en los sistemas donde no sea posible la intrusión.Conectarse a una instancia
mongodomongossin validar los certificados del servidor es un riesgo potencial para la seguridad. Si solo necesitas deshabilitar la validación del nombre de host en los certificados TLS/SSL, consulta--sslAllowInvalidHostnames.Alternativamente, también puedes deshabilitar la validación del certificado directamente en la
URI connection string. Proveer una cadena de conexión, mientras también se utiliza--sslAllowInvalidCertificatesy se especifica información conflictiva, resultará en error.Para obtener más información sobre TLS/SSL y MongoDB, consulta Configurar mongod y mongos para TLS/SSL y Configuración de TLS/SSL para clientes.
--sslAllowInvalidHostnamesDesactiva la validación de los nombres de host en los certificados TLS/SSL. Permite a
mongoexportconectarse a instancias de MongoDB incluso si el nombre de host en sus certificados no coincide con el nombre de host especificado.Como alternativa, también puedes desactivar la validación del nombre de host directamente en la
URI connection string. El ofrecer una cadena de conexión, mientras también se utiliza--sslAllowInvalidHostnamesy ademas se especifica información conflictiva, resultará en error.Para obtener más información sobre TLS/SSL y MongoDB, consulta Configurar mongod y mongos para TLS/SSL y Configuración de TLS/SSL para clientes.
--username=<username>, -u=<username>Especifica un nombre de usuario con el cual autenticarte en una base de datos MongoDB que utiliza autenticación. Utilízalo en conjunto con las
--passwordy--authenticationDatabaseopciones.Alternativamente, también puede especificar el nombre de usuario directamente en el
URI connection string. Proporcionar una cadena de conexión mientras también se utiliza--usernamey especificar información conflictiva resultará en un error.Si se realiza la conexión a un clúster de MongoDB Atlas con el
MONGODB-AWSauthentication mechanism, se puede especificar la ID de clave de acceso de AWS en:este campo,
la
connection stringola variable de entorno
AWS_ACCESS_KEY_ID.
Consulta Conectar a un clúster de MongoDB Atlas usando credenciales de AWS IAM para obtener un ejemplo de cada uno.
--password=<password>, -p=<password>Especifica una contraseña con la que autenticarse en una base de datos de MongoDB que utiliza autenticación. Utiliza en conjunto con las
--usernamey--authenticationDatabaseopciones.Para solicitar la contraseña al usuario, pasar la opción
--usernamesin--passwordo especificar una string vacía como valor de--password, como en--password "".Alternativamente, también puedes especificar la contraseña directamente en la
URI connection string. El ofrecer una cadena de conexión, mientras también se utiliza--passwordy ademas se especifica información conflictiva, resultará en error.Si se realiza la conexión a un clúster MongoDB Atlas con el
authentication mechanismdeMONGODB-AWS, se puede especificar la clave de acceso secreta de AWS en:este campo,
la
connection stringola variable de entorno
AWS_SECRET_ACCESS_KEY.
Consulta Conectar a un clúster de MongoDB Atlas usando credenciales de AWS IAM para obtener un ejemplo de cada uno.
Advertencia
En algunos sistemas, una contraseña proporcionada directamente mediante la opción
--passwordpuede ser visible para programas de estado del sistema, comops, que pueden ser invocados por otros usuarios. Considera en cambio:omitiendo la opción
--passwordpara recibir una solicitud interactiva de contraseña, outilizando la opción
--configpara especificar un archivo de configuración que contenga la contraseña.
--awsSessionToken=<AWS Session Token>Si se realiza la conexión a un clúster de MongoDB Atlas con el
authentication mechanismdeMONGODB-AWSy se usan tokens de sesión además de la ID de clave de acceso de AWS y la clave de acceso secreta, se puede especificar el token de sesión de AWS en:este campo,
el parámetro
AWS_SESSION_TOKENauthMechanismPropertiespara elconnection string, ola variable de entorno
AWS_SESSION_TOKEN.
Consulta Conectar a un clúster de MongoDB Atlas usando credenciales de AWS IAM para obtener un ejemplo de cada uno.
Solo válido cuando se utiliza el
MONGODB-AWSauthentication mechanism.
--authenticationDatabase=<dbname>Especifica la base de datos de autenticación donde se ha creado el
--usernameespecificado. Consultar la base de datos de autenticación.Si no especificas una base de datos de autenticación,
mongoexportasume que la base de datos especificada para exportar contiene las credenciales del usuario.Si utiliza GSSAPI (Kerberos), PLAIN (LDAP SASL) o
MONGODB-AWSauthentication mechanisms, deberá configurar--authenticationDatabasea$external.Alternativamente, también puedes especificar la base de datos de autenticación directamente en la
URI connection string. El ofrecer una cadena de conexión, mientras también se utiliza--authenticationDatabasey ademas se especifica información conflictiva, resultará en error.
--authenticationMechanism=<name>Por defecto: SCRAM-SHA-1
Especifica el mecanismo de autenticación que la instancia
mongoexportutiliza para autenticarse en elmongodo en elmongos.Cambiado en la versión 100.1.0: A partir de la versión
100.1.0,mongoexportagrega soporte para el mecanismo de autenticaciónMONGODB-AWSal conectarse a un clúster de MongoDB Atlas.ValorDescripciónSolicitud de comentarios 5802 Mecanismo de autenticación de respuesta de desafío salado estándar que utiliza la función hash SHA-1.
RFC 7677 estándar del mecanismo de autenticación de respuesta a desafío salado utilizando la función de hash SHA-256.
Se debe establecer featureCompatibilityVersion en
4.0.Autenticación de certificados TLS/SSL de MongoDB.
MONGODB-AWSAutenticación externa utilizando credenciales de AWS IAM para conectarse a un clúster de MongoDB Atlas. Consulte Conéctese a un clúster de MongoDB Atlas usando credenciales de AWS IAM.
Nuevo en la versión 100.1.0.
GSSAPI (Kerberos)
Autenticación externa mediante Kerberos. Este mecanismo solo está disponible en MongoDB Enterprise.
PLAIN (SASL LDAP)
Autenticación externa mediante LDAP. También puedes utilizar
PLAINpara autenticar a los usuarios de base de datos.PLAINtransmite contraseñas en texto plano. Este mecanismo solo está disponible en MongoDB Enterprise.Alternativamente, también puedes especificar el mecanismo de autenticación directamente en la
URI connection string. Proveer una cadena de conexión, mientras también se utiliza--authenticationMechanismy se especifica información conflictiva, resultará en error.
--gssapiServiceName=<serviceName>Especifica el nombre del servicio mediante GSSAPI/Kerberos. Solo es necesario si el servicio no utiliza el nombre por defecto de
mongodb.Esta opción solo está disponible en MongoDB Enterprise.
--gssapiHostName=<hostname>Especifica el nombre de host de un servicio utilizando GSSAPI/Kerberos. Solo es necesario si el nombre de host de una máquina no coincide con el nombre de host resuelto por DNS.
Esta opción solo está disponible en MongoDB Enterprise.
--db=<database>, -d=<database>Especifica el nombre de la base de datos en la que se ejecutará
mongoexport.Alternativamente, también puedes especificar la base de datos directamente en la
URI connection string. Proveer una cadena de conexión, mientras también se utiliza--dby ademas se especifica información conflictiva, resultará en error.
--fields=<field1[,field2]>, -f=<field1[,field2]>Especifica un campo o campos para incluir en la exportación. Utiliza una lista de campos separados por comas para especificar múltiples campos.
Si alguno de los nombres de tus campos incluye espacios en blanco, utilice comillas para encerrar la lista de campos. Por ejemplo, si desearas exportar dos campos,
phoneyuser number, especificarías--fields "phone,user number".Para los formatos de salida
csv,mongoexportincluye solo los campos especificados, y los campos especificados pueden ser un campo dentro de un subdocumento.Para los formatos de salida JSON,
mongoexportincluye solo los campos especificados y el campo_id, y si los campos especificados son un campo dentro de un subdocumento,mongoexportincluye el subdocumento con todos los campos, no solo el campo especificado dentro del documento.Consulta: Exportar datos en formato CSV usando la opción
--fieldspara ver una muestra de uso.
--fieldFile=<filename>Una alternativa a
--fields. La opción--fieldFilepermite especificar en un archivo el o los campos que se deseen incluir en la exportación y solo es válida con la opción--typecon el valorcsv. El archivo debe tener solo un campo por línea, y las líneas deben terminar con el carácter LF (0x0A).mongoexportincluye solo los campos especificados. Los campos especificados pueden ser un campo dentro de un subdocumento.Consulta Usar un archivo para especificar los campos para exportar en formato CSV para ver una muestra de uso.
--query=<JSON>, -q=<JSON>Ofrece una query como un documento JSON (entre comillas) para devolver documentos coincidentes en la exportación.
Se debe encerrar el documento de query entre comillas simples (
'{ ... }') para garantizar que no haya interacción con el entorno de shell.La consulta debe estar en formato JSON2 extendido v (modo relajado o canónico/estricto), incluyendo encerrar los nombres de campo y operadores entre comillas:
Por ejemplo, dada una colección llamada
recordsen la base de datostestcon los siguientes documentos:{ "_id" : ObjectId("51f0188846a64a1ed98fde7c"), "a" : 1, "date" : ISODate("1960-05-01T00:00:00Z") } { "_id" : ObjectId("520e61b0c6646578e3661b59"), "a" : 1, "b" : 2, "date" : ISODate("1970-05-01T00:00:00Z") } { "_id" : ObjectId("520e642bb7fa4ea22d6b1871"), "a" : 2, "b" : 3, "c" : 5, "date" : ISODate("2010-05-01T00:00:00Z") } { "_id" : ObjectId("520e6431b7fa4ea22d6b1872"), "a" : 3, "b" : 3, "c" : 6, "date" : ISODate("2015-05-02T00:00:00Z") } { "_id" : ObjectId("520e6445b7fa4ea22d6b1873"), "a" : 5, "b" : 6, "c" : 8, "date" : ISODate("2018-03-01T00:00:00Z") } { "_id" : ObjectId("5cd0de910dbce4346295ae28"), "a" : 15, "b" : 5, "date" : ISODate("2015-03-01T00:00:00Z") } El siguiente
mongoexportutiliza la opción-qpara exportar solo los documentos con el campoamayor o igual que ($gte)3y el campodatemenor que ($lt)ISODate("2016-01-01T00:00:00Z"), lo cual se especifica usando el formato Extended JSON v2 (modo relajado) para fechas ({ "$date": "YYYY-MM-DDTHH:mm:ss.mmm\<offset\>"}):mongoexport -d=test -c=records -q='{ "a": { "$gte": 3 }, "date": { "$lt": { "$date": "2016-01-01T00:00:00.000Z" } } }' --out=exportdir/myRecords.json El archivo resultante contiene los siguientes documentos:
{"_id":{"$oid":"520e6431b7fa4ea22d6b1872"},"a":3.0,"b":3.0,"c":6.0,"date":{"$date":"2015-05-02T00:00:00Z"}} {"_id":{"$oid":"5cd0de910dbce4346295ae28"},"a":15.0,"b":5.0,"date":{"$date":"2015-03-01T00:00:00Z"}} Usted puede ordenar los resultados con la opción
--sortparamongoexport.
--queryFile=<filename>Una alternativa a
--query. La opción--queryFilepermite especificar en un archivo la query en formato Extended JSON v2.
--type=<string>Default: json
Especifica el tipo de archivo a exportar. Especificar
csvpara el formato CSV ojsonpara el formato JSON.Si especifica
csv, entonces también debe usar la opción--fieldso la opción--fieldFilepara declarar los campos que se exportarán de la colección.
--out=<file>, -o=<file>Especifica un archivo en el que guardar la exportación. Si no se especifica un nombre de archivo,
mongoexportescribe datos en la salida estándar (por ejemplo,stdout).
--jsonFormat=<canonical|relaxed>Por defecto: relajado
Modifica la salida para usar el modo canónico o el modo relajado del formato MongoDB Extended JSON (v2).
Para conocer las diferencias entre los modos canónico y relajado, consulta MongoDB Extended JSON (v2).
--jsonArrayModifica la salida de
mongoexportpara guardar todo el contenido de la exportación como un único arreglo JSON. Por defecto,mongoexportguarda datos usando un documento JSON por cada documento de MongoDB.
--noHeaderLinePor defecto,
mongoexportincluye los nombres de los campos exportados como la primera línea en una salida CSV.--noHeaderLineindica amongoexportque exporte los datos sin la lista de nombres de campos.--noHeaderLinesolo es válida con la opción--typecon el valorcsv.Consulta Excluir nombres de campo de la salida CSV para ver una muestra de uso.
--readPreference=<string|document>Por defecto:
primaryEspecifica la preferencia de lectura para
mongoexport. La opción--readPreferencepuede tomar:Un string si solo se especifica el modo de preferencia de lectura:
--readPreference=secondary Un documento entre comillas para especificar la moda, los conjuntos de etiquetas de preferencia de lectura opcionales, y el maxStalenessSeconds: opcional.
--readPreference='{mode: "secondary", tagSets: [ { "region": "east" } ], maxStalenessSeconds: 120}' Si se especifica el maxStalenessSeconds, el valor debe ser mayor o igual a 90.
mongoexporttiene por defecto preferencia de lecturaprimary.Si la preferencia de lectura también se incluye en la
--uri connection string, la línea de comandos--readPreferenceanula la preferencia de lectura especificada en la string URI.
--skip=<number>Utilice
--skippara controlar dóndemongoexportcomienza a exportar documentos. Consulteskip()para obtener información sobre la operación subyacente.
--limit=<number>Especifica un número máximo de documentos para incluir en la exportación. Consulte
limit()para obtener información sobre la operación subyacente.
--sort=<JSON>Especifica un orden para los resultados exportados. Si no existe un índice que pueda dar soporte a la operación de ordenación, los resultados deben ser inferiores a 32 megabytes.
Se debe usar
--sorten conjunto con--skipy--limitpara limitar la cantidad de documentos exportados.mongoexport -d=test -c=records --sort='{a: 1}' --limit=100 --out=export.0.json mongoexport -d=test -c=records --sort='{a: 1}' --limit=100 --skip=100 --out=export.1.json mongoexport -d=test -c=records --sort='{a: 1}' --limit=100 --skip=200 --out=export.2.json Consulta
sort()para obtener información sobre la operación subyacente.