Definición
mongodump es una utilidad que crea una exportación binaria del contenido de una base de datos. mongodump puede exportar datos desde:
Implementaciones autónomas
Sets de réplicas
Clústeres particionados
Clústeres Flex
Puede utilizar las herramientas de base de datos MongoDB para migrar desde una implementación autohospedada a MongoDB Atlas. MongoDB Atlas es el servicio totalmente administrado para implementaciones de MongoDB en la nube. Para obtener más información, consulte "Seed with mongorestore".
Para aprender todas las formas en que puede migrar a MongoDB Atlas, consulte Migrar o importar datos.
mongodump puede conectarse a instancias mongod y mongos.
Puede restaurar los archivos BSON generados desde mongodump en implementaciones de MongoDB que ejecuten la misma versión principal o versión de compatibilidad de funcionalidades entre versiones que la implementación de origen.
Ejecuta mongodump desde la línea de comandos del sistema, no desde el shell de mongo.
Tip
mongorestore, que te permite importar datos que fueron exportados desde mongodump.
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.
mongodump vacia:
Documentos de colección, metadatos y opciones.
Definiciones de índices.
Lo que se guarda durante la exportación, si se ejecuta con la opción
mongodump--oplog.
mongodump vacía los datos a un directorio o a un archivo binario de un archivero.
Importante
No puedes usar mongodump con una colección que utiliza Queryable Encryption.
Exportar datos a un directorio
Ejemplo de estructura y archivos de vaciado del directorio mongodump:
dump ├── easternSalesDatabase │ ├── sales.bson │ ├── sales.metadata.json │ └── salesByMonthView.metadata.json ├── westernSalesDatabase │ ├── sales.bson │ ├── sales.metadata.json │ └── salesByMonthView.metadata.json └── oplog.bson
Para un vaciado de directorio, mongodump crea:
Un directorio raíz con el nombre por defecto
dump. Puede establecer el nombre con la opciónmongodump--out.Un subdirectorio en el directorio raíz para cada base de datos. Por ejemplo, si el nombre de una base de datos es
easternSalesDatabase, el nombre del subdirectorio también eseasternSalesDatabase.Un archivo BSON que contiene documentos para cada colección. Por ejemplo, si el nombre de una colección es
sales, el archivo BSON essales.bson.Un archivo JSON de metadatos para cada colección en cada directorio de base de datos. Por ejemplo, un archivo de metadatos
sales.metadata.json. El archivo contiene un documento con los metadatos, las opciones y los índices de la colección exportada.Un archivo JSON de metadatos para cada vista. Por ejemplo, un archivo de metadatos
salesByMonthView.metadata.json. Una vista no tiene un archivo BSON.Un archivo oplog opcional
oplog.bson, ubicado en el directorio raíz, que contiene operaciones de guardado que ocurrieron durante la ejecución demongodump. Para generar un archivooplog.bson, utilice la opciónmongodump--oplog.
Si utilizas la opción mongodump --gzip, los archivos BSON y los archivos de metadatos JSON se comprimen. Los archivos exportados comprimidos tienen bson.gz y metadata.json.gz al final de sus nombres.
Vacía los datos a un archivo binario de un archivero
Para vaciar datos a un archivo binario de un archivero, utiliza la opción mongodump --archive. mongodump crea un archivo binario que contiene los datos archivados.
Sintaxis
mongodump sintaxis:
mongodump <options> <connection-string>
Para conectarte a una instancia local de MongoDB que se ejecuta en el puerto 27017 y usar la configuración por defecto para exportar el contenido, ejecuta mongodump sin ninguna opción de línea de comandos:
mongodump
Para especificar un host y/o puerto de la instancia de MongoDB, se puede hacer lo siguiente:
Especifique el nombre de host y el puerto en la opción
--uri connection string:mongodump --uri="mongodb://mongodb0.example.com:27017" [additional options] Especifique el nombre de host y el puerto en la opción
--host:mongodump --host="mongodb0.example.com:27017" [additional options] Especifique el nombre de host y el puerto en las opciones
--hosty--port:mongodump --host="mongodb0.example.com" --port=27017 [additional options]
Para conectarte a un set de réplicas para exportar tus datos, puedes:
Especifica el nombre del set de réplicas y los nodos en la opción
--uri connection string:mongodump --uri="mongodb://mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?replicaSet=myReplicaSetName" [additional options] Especifica el nombre del set de réplicas y los nodos en la opción
--host:mongodump --host="myReplicaSetName/mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com" [additional options]
Por defecto, mongodump lee desde el primario del set de réplicas. Para sobreescribir el valor por defecto, puedes especificar la preferencia de lectura:
Puedes especificar la preferencia de lectura en la opción
--uri connection string:mongodump --uri="mongodb://mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?replicaSet=myReplicaSetName&readPreference=secondary" [additional options] Si especificas las etiquetas de preferencia de lectura, incluye la opción
readPreferenceTags:mongodump --uri="mongodb://mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?replicaSet=myReplicaSetName&readPreference=secondary&readPreferenceTags=region:east" [additional options] Puedes especificar la preferencia de lectura utilizando la opción de línea de comandos
--readPreference. La opción de la línea de comandos acepta un string si solo se especifica el modo de preferencia de lectura:mongodump --host="myReplicaSetName/mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017" --readPreference=secondary [additional options] O bien, la opción de línea de comandos puede tomar un documento
'{ mode: <mode>, tagSets: [ <tag1>, ... ], maxStalenessSeconds:<num>}'entre comillas para especificar el modo, los conjuntos de etiquetas de preferencia de lectura opcionales y el maxStalenessSeconds:opcionalmongodump --host="myReplicaSetName/mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017" --readPreference='{mode: "secondary", tagSets: [ { "region": "east" } ]}' [additional options]
Nota
Para evitar inconsistencias en los datos, se deben pausar las siguientes acciones en el clúster cuando se ejecute mongodump:
Transacciones entre particiones
Operaciones del lenguaje de definición de datos (operaciones que crean y modifican colecciones)
Equilibrio de fragmentos
Para detener el balanceador, utilice el método sh.stopBalancer().
Para conectarte a un clúster fragmentado para exportar tus datos, puedes:
Especifica el nombre de host de la instancia
mongosen la opción--uri connection string:mongodump --uri="mongodb://mongos0.example.com:27017" [additional options] Especifica el nombre de host y el puerto de la instancia
mongosen la opción--host:mongodump --host="mongos0.example.com:27017" [additional options]
Por defecto, mongodump lee desde el primario del set de réplicas del fragmento. Para sobreescribir el valor por defecto, puedes especificar la preferencia de lectura:
Puedes especificar la preferencia de lectura en la opción
--uri connection string:mongodump --uri="mongodb://mongos0.example.com:27017/?readPreference=secondary" [additional options] Si especificas las etiquetas de preferencia de lectura, incluye la opción
readPreferenceTags:mongodump --uri="mongodb://mongos0.example.com:27017/?readPreference=secondary&readPreferenceTags=region:east" [additional options] 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:mongodump --host="mongos0.example.com:27017" --readPreference=secondary [additional options] O bien, la opción de línea de comandos puede tomar un documento
'{ mode: <mode>, tagSets: [ <tag1>, ... ], maxStalenessSeconds: <num>}'entre comillas para especificar el modo, los conjuntos de etiquetas de preferencia de lectura opcionales y el maxStalenessSeconds:opcionalmongodump --host="mongos0.example.com:27017" --readPreference='{mode: "secondary", tagSets: [ { "region": "east" } ]}' [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
-val incluir la opción varias veces. Por ejemplo:-vvvvv.
--quietEjecuta
mongodumpen 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
mongodump:Esta es la forma recomendada de especificar una contraseña para
mongodump, 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 comandosmongodump, 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--sslPEMKeyPasswordmongodump, 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.0demongodump, la cadena de conexión puede proporcionarse alternativamente como un parámetro posicional, sin utilizar la opción--uri:mongodump 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:mongodump --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
mongodumpen 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,
mongodumpintenta 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,
mongodumpsiempre 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 la 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 establecer una conexión a un
mongodomongosque tenga habilitado el soporte 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.
--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.
--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 tieneCAFileactivado 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.
--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 de certificado está cifrado. En todos los casos,mongodumpcensurará la contraseña en todos los registros y reportes de salida.Si la llave privada del archivo PEM está cifrada y no especifica la opción
--sslPEMKeyPassword,mongodumpte pedirá una frase de contraseña. Consulta 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.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.
--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.
--sslAllowInvalidHostnamesDesactiva la validación de los nombres de host en los certificados TLS/SSL. Permite a
mongodumpconectarse 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.
--username=<username>, -u=<username>Especifica un nombre de usuario con el cual autenticarse en una base de datos MongoDB que requiere autenticación. Utilízalo en conjunto con las opciones
--password <mongodump --password>y--authenticationDatabase <mongodump --authenticationDatabase>.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 requiere autenticación. Utilízalo en conjunto con las opciones
--username <mongodump --username>y--authenticationDatabase <mongodump --authenticationDatabase>.Para solicitar la contraseña al usuario, pasa la opción
--username <mongodump --username>sin--password <mongodump --password>o especifica una string vacía como el valor--password <mongodump --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
--username <mongodump --username>especificado. Consulta Base de datos de autenticación.Si no especificas una base de datos de autenticación,
mongodumpasume que la base de datos especificada para exportar contiene las credenciales del usuario.Si no especificas una base de datos de autenticación o una base de datos para exportar,
mongodumpasume que la base de datosadmincontiene 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 de
mongodumputiliza para autenticarse antemongodomongos.Cambiado en la versión 100.1.0: A partir de la versión
100.1.0,mongodumpagrega 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.
--gssapiServiceNameEspecifica 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.
Alternativamente, también puedes especificar el nombre del servicio directamente en el
URI connection string. Ofrecer una cadena de conexión mientras también se utiliza--gssapiServiceNamey especificar información conflictiva resultará en error.
--gssapiHostNameEspecifica el nombre de host de un servicio con
GSSAPI/Kerberos </core/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 una base de datos para realizar una copia de seguridad. Si no especificas una base de datos,
mongodumpcopia todas las bases de datos en esta instancia en los archivos de volcado.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.
--collection=<collection>, -c=<collection>Especifica una colección para realizar una copia de seguridad. Si no especificas una colección, esta opción copia todas las colecciones de la base de datos o instancia especificada a los archivos de volcado.
--query=<json>, -q=<json>Ofrece un documento JSON como una query que opcionalmente limita los documentos incluidos en el resultado de
mongodump. Para usar la opción--query, debes especificar también la opción--collection <mongodump --collection>.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 los nombres de campo y operadores entre comillas. Por ejemplo:
mongodump -d=test -c=records -q='{ "a": { "$gte": 3 }, "date": { "$lt": { "$date": "2016-01-01T00:00:00.000Z" } } }' Para usar
$regexconmongodump, utiliza la siguiente sintaxis:mongodump -d=sample_mflix -c=movies -q='{ "year": { "$regex": "20" } }' Nota
Cuando utilizas la opción
--queryen una colección de series de tiempo, solo puedes realizar una query del campo especificado como elmetaField.
--queryFile=<path>Especifica la ruta a un archivo que contiene un documento JSON como filtro de query que limita los documentos incluidos en la salida de
mongodump.--queryFilete permite crear filtros de query demasiado grandes para el búfer de su terminal.Nota
Cuando utilices la opción
--queryFileen una colección de series de tiempo, solo podrás realizar una query al campo especificado comometaField.
--readPreference=<string|document>Por defecto:
primaryEspecifica la preferencia de lectura para
mongodump. 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.
mongodumptiene por defecto la preferencia de lecturaprimary.Si la preferencia de lectura también se incluye en el
--uri connection string <--uri>, la línea de comandos--readPreferenceanula la preferencia de lectura especificada en la string URI.
--gzipComprime la salida. Si
mongodumpgenera salidas al directorio de volcado, la nueva funcionalidad comprime los archivos individuales. Los archivos tienen el sufijo.gz.Si
mongodumpgenera un archivo o un flujo de salida estándar, la nueva funcionalidad comprime el archivo o los datos que se envían al flujo.
--out=<path>, -o=<path>Especifica el directorio donde
mongodumpguardará los archivos BSON para las bases de datos vaciadas. Por defecto,mongodumpguarda los archivos de salida en un directorio llamadodumpen el directorio de trabajo actual.Para enviar el volcado de la base de datos a la salida estándar, especifica "
-" en lugar de una ruta. Guarda en la salida estándar si deseas procesar la salida antes de guardarla, por ejemplo, si decides usargzippara comprimir el volcado. Al guardar en la salida estándar,mongodumpno guardas los metadatos que se escriben en un archivo<dbname>.metadata.jsonal guardar directamente en archivos.No puedes utilizar la opción
--archivecon la opción--out.
--archive=<file>Escribe la salida en un archivo de archivo especificado o, si no se especifica el archivo de archivo, escribe la salida estándar (
stdout). Un archivo de archivo es una alternativa de un archivo único el lugar de varios archivos BSON.Para exportar el volcado a un archivo, ejecuta
mongodumpcon la opción--archive <mongodump --archive>y el nombre del archivo.mongodump --archive=<file> Para enviar el volcado al flujo de salida estándar para crear un pipe con otro proceso, ejecuta
mongodumpcon la opción--archive <mongodump --archive>, pero omite el nombre del archivo.mongodump --archive
No puedes utilizar la opción
--archive <mongodump --archive>con la opción--out <mongodump --out>.Nota
Si
mongodumpguarda en un archivo, el rendimiento demongodumppuede mejorar. Para obtener más información sobre los impactos en el rendimiento demongodump, consulta Consideraciones sobre el formato de salida.
--oplogCrea un archivo llamado
oplog.bsoncomo parte de la salidamongodump. El archivooplog.bson, ubicado en el nivel superior del directorio de salida, contiene entradas del oplog que ocurren durante la operaciónmongodump.Para aplicar las entradas de oplog del archivo
oplog.bsonen la operación de restauración, utilizamongorestore --oplogReplay. Puedes usarmongodump --oplogjunto conmongorestore --oplogReplaypara asegurarte de que los datos estén actualizados e incluyan todas las instancias de escritura que ocurrieron durante el volcado.Sin
--oplog, si hay operaciones de guardado durante la operación de volcado, el volcado no reflejará un único momento en el tiempo. Los cambios realizados en la base de datos durante el proceso de actualización pueden afectar el resultado de la copia de seguridad.Para hacer una copia de seguridad de sets de réplicas individuales y seguir aceptando operaciones de escritura, utiliza
--oplog.Importante
Un
mongodumpque se ejecuta con--oplogfalla si un cliente emite alguna de las operaciones enumeradas durante el proceso de vaciado.--oplogqueda sin efecto cuando se ejecutamongodumpen una instanciamongospara volcar todo el contenido de un clúster fragmentado.--oplogsolo funciona contra nodos que mantienen un oplog. Esto incluye a todos los miembros de un set de réplicas.--oplogno vuelca la colección de oplog.No puedes ejecutar
mongodumpcon--oplogen un clúster fragmentado. Para hacer una copia de seguridad de clústeres fragmentados conmongodump, consulta Haz una copia de seguridad de un clúster fragmentado autogestionado con un volcado de base de datos.Nota
Para usar
mongodumpcon--oplog, debes crear un volcado completo de un miembro de un set de réplicas.mongodumpcon--oplogfalla si utilizas alguna de las siguientes opciones para limitar los datos que se van a vaciar:--db--collection--dumpDbUsersAndRoles--query
--dumpDbUsersAndRolesIncluye las definiciones de usuario y rol en el directorio de vaciado de la base de datos al realizar
mongodumpen una base de datos específica. Esta opción solo se aplica cuando usted especifica una base de datos en la opción--db. MongoDB siempre incluye las definiciones de usuario y rol cuandomongodumpse aplica a toda una instancia y no solo a una base de datos específica.
--excludeCollection=<string>Excluye la colección especificada de la salida
mongodump. Para excluir múltiples colecciones, especifica el--excludeCollectionvarias veces.Para utilizar la opción
--excludeCollection, debes especificar una base de datos. Puedes especificar una base de datos con la opción--dbo en la cadena de conexión--uri.
--excludeCollectionsWithPrefix=<string>Excluye todas las colecciones con un prefijo especificado de las salidas de
mongodump. Para especificar múltiples prefijos, indica el--excludeCollectionsWithPrefixvarias veces.Para utilizar la opción
--excludeCollectionsWithPrefix, debes especificar una base de datos. Puedes especificar una base de datos con la opción--dbo en la cadena de conexión--uri.
--numParallelCollections=<int>, -j=<int>Por defecto: 4
Cantidad de colecciones que
mongodumpdebería exportar en paralelo.
--viewsAsCollectionsCuando se especifica,
mongodumpexporta vistas como colecciones.Nota
Solo se exportan las vistas. Por defecto,
mongodumpsolo exporta los metadatos de una vista. Para exportar los documentos en una vista, usa la opción--viewsAsCollections.Para cada vista,
mongodumpcrea un archivo BSON que contiene los documentos de la vista. Si utilizasmongorestorecon un archivo BSON creado pormongodump, la vista se restaura como una colección.Si no incluyes
--viewsAsCollections,mongodumpcaptura los metadatos de cada vista. Si incluyes el archivo de metadatos de una vista en una operaciónmongorestore, la vista se recrea.
--compressors=<string>Especifica el algoritmo de compresión que
mongodumputiliza para la comunicación de red entre el clientemongodumpy el servidor MongoDB. Puede utilizar uno o más de estos valores para la opción--compressors:snappyzlibzstd
Si se especifican varios algoritmos de compresión,
mongodumpse debe usar el primero de la lista que sea compatible con la implementación de MongoDB.Para obtener más información sobre los compresores, consulte la documentación sobre la compresión de red del controlador Go.
Obtén más información
Para obtener más información sobre mongodump, consulte:
Para obtener un tutorial, consulta Realizar una copia de seguridad de un clúster fragmentado autogestionado con un vaciado de base de datos.
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.