Docs Menu
Docs Home
/ /

mongodump

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.

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ón mongodump --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 es easternSalesDatabase.

  • Un archivo BSON que contiene documentos para cada colección. Por ejemplo, si el nombre de una colección es sales, el archivo BSON es sales.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 de mongodump. Para generar un archivo oplog.bson, utilice la opción mongodump --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.

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.

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 --host y --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:opcional

    mongodump --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 mongos en 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 mongos en 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:opcional

    mongodump --host="mongos0.example.com:27017" --readPreference='{mode: "secondary", tagSets: [ { "region": "east" } ]}' [additional options]
--help

Devuelve información sobre las opciones y el uso de mongodump.

--verbose, -v

Aumenta 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 -v al incluir la opción varias veces. Por ejemplo: -vvvvv.

--quiet

Ejecuta mongodump en 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

--version

Devuelve el número de la versión mongodump.

--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 password sin especificar uri, puede especificar los otros componentes de la cadena de conexión utilizando las opciones de línea de comandos mongodump, como --username y --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 password y una cadena de conexión en el campo uri con una contraseña conflictiva, mongorestore resultará en un error.

  • Si especifica un archivo de configuración con --config y también utiliza las opciones de línea de comandos --password, --uri o --sslPEMKeyPassword mongodump, 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.0 de mongodump, 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:// o mongodb+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 --uri o 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 string pueden especificarse alternativamente utilizando sus propias opciones explícitas de línea de comandos, como --username y --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 mongodump en Ubuntu 18.04, se puede recibir un mensaje de error cannot unmarshal DNS al usar cadenas de conexión SRV (en el formato mongodb+srv://) con la opción --uri. Si es así, se debe usar una de las siguientes opciones en su lugar:

Advertencia

En algunos sistemas, una contraseña proporcionada en una cadena de conexión con la opción --uri puede ser visible para programas de estado del sistema como ps que 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 --config para 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, mongodump intenta conectarse a una instancia de MongoDB que se ejecuta en el host local en el número de puerto 27017.

Para conectarse a un set de réplicas, especifica el replSetName y 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, mongodump siempre 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 --host y 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 --port y se especifica información conflictiva, dará como resultado un error.

--ssl

Permite establecer una conexión a un mongod o mongos que 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 --ssl y se especifica información conflictiva, resultará en error.

--sslCAFile=<filename>

Especifica el archivo .pem que contiene la cadena de certificados raíz de la Autoridad Certificadora. Especifica el nombre del archivo .pem con rutas relativas o absolutas.

Alternativamente, también puedes especificar el archivo .pem directamente en la URI connection string. Proveer una cadena de conexión, mientras también se utiliza --sslCAFile y se especifica información conflictiva, resultará en error.

--sslPEMKeyFile=<filename>

Especifica el archivo .pem que contiene tanto el certificado TLS/SSL como la clave. Especifica el nombre del archivo .pem con rutas relativas o absolutas.

Esta opción es obligatoria cuando se utiliza la opción --ssl para conectarse a un mongod o mongos que tiene CAFile activado sin allowConnectionsWithoutCertificates.

Alternativamente, también puedes especificar el archivo .pem directamente en la URI connection string. Proveer una cadena de conexión, mientras también se utiliza --sslPEMKeyFile y 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 `--sslPEMKeyPassword solo si el archivo de clave de certificado está cifrado. En todos los casos, mongodump censurará 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, mongodump te 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 --sslPEMKeyPassword y ademas se especifica información conflictiva, resultará en error.

Advertencia

En algunos sistemas, una contraseña proporcionada directamente mediante la opción --sslPEMKeyPassword puede ser visible para los programas de estado del sistema, como ps, que pueden ser invocados por otros usuarios. En su lugar, considera usar la opción --config para especificar un archivo de configuración que contenga la contraseña.

--sslCRLFile=<filename>

Especifica el archivo .pem que contiene la Lista de revocación de certificados. Especifica el nombre del archivo .pem con rutas relativas o absolutas.

--sslAllowInvalidCertificates

Omite las comprobaciones de validación de los certificados de servidor y permite el uso de certificados no válidos. Si utilizas la configuraciónallowInvalidCertificates, MongoDB realiza un registro como advertencia del uso del certificado no válido.

Advertencia

Aunque está disponible, evita utilizar la opción --sslAllowInvalidCertificates en 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 mongod o mongos sin 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 --sslAllowInvalidCertificates y se especifica información conflictiva, resultará en error.

--sslAllowInvalidHostnames

Desactiva la validación de los nombres de host en los certificados TLS/SSL. Permite a mongodump conectarse 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 --sslAllowInvalidHostnames y 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 --username y especificar información conflictiva resultará en un error.

Si se realiza la conexión a un clúster de MongoDB Atlas con el MONGODB-AWS authentication mechanism, se puede especificar la ID de clave de acceso de AWS en:

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 --password y ademas se especifica información conflictiva, resultará en error.

Si se realiza la conexión a un clúster MongoDB Atlas con el authentication mechanism de MONGODB-AWS, se puede especificar la clave de acceso secreta de AWS en:

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 --password puede ser visible para programas de estado del sistema, como ps, que pueden ser invocados por otros usuarios. Considera en cambio:

  • omitiendo la opción --password para recibir una solicitud interactiva de contraseña, o

  • utilizando la opción --config para 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 mechanism de MONGODB-AWS y 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:

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-AWS authentication 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, mongodump asume 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, mongodump asume que la base de datos admin contiene las credenciales del usuario.

Si utiliza GSSAPI (Kerberos), PLAIN (LDAP SASL) o MONGODB-AWS authentication mechanisms, deberá configurar --authenticationDatabase a $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 --authenticationDatabase y 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 mongodump utiliza para autenticarse ante mongod o mongos.

Cambiado en la versión 100.1.0: A partir de la versión 100.1.0, mongodump agrega soporte para el mecanismo de autenticación MONGODB-AWS al conectarse a un clúster de MongoDB Atlas.

Valor
Descripción

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-AWS

Autenticació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 PLAIN para autenticar a los usuarios de base de datos. PLAIN transmite 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 --authenticationMechanism y se especifica información conflictiva, resultará en error.

--gssapiServiceName

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.

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 --gssapiServiceName y especificar información conflictiva resultará en error.

--gssapiHostName

Especifica 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, mongodump copia 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 --db y 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 $regex con mongodump, utiliza la siguiente sintaxis:

mongodump -d=sample_mflix -c=movies -q='{ "year": { "$regex": "20" } }'

Nota

Cuando utilizas la opción --query en una colección de series de tiempo, solo puedes realizar una query del campo especificado como el metaField.

--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. --queryFile te permite crear filtros de query demasiado grandes para el búfer de su terminal.

Nota

Cuando utilices la opción --queryFile en una colección de series de tiempo, solo podrás realizar una query al campo especificado como metaField.

--readPreference=<string|document>

Por defecto: primary

Especifica la preferencia de lectura para mongodump. La opción --readPreference puede 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.

mongodump tiene por defecto la preferencia de lectura primary.

Si la preferencia de lectura también se incluye en el --uri connection string <--uri>, la línea de comandos --readPreference anula la preferencia de lectura especificada en la string URI.

--gzip

Comprime la salida. Si mongodump genera salidas al directorio de volcado, la nueva funcionalidad comprime los archivos individuales. Los archivos tienen el sufijo .gz.

Si mongodump genera 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 mongodump guardará los archivos BSON para las bases de datos vaciadas. Por defecto, mongodump guarda los archivos de salida en un directorio llamado dump en 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 usar gzip para comprimir el volcado. Al guardar en la salida estándar, mongodump no guardas los metadatos que se escriben en un archivo <dbname>.metadata.json al guardar directamente en archivos.

No puedes utilizar la opción --archive con 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 mongodump con 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 mongodump con 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 mongodump guarda en un archivo, el rendimiento de mongodump puede mejorar. Para obtener más información sobre los impactos en el rendimiento de mongodump, consulta Consideraciones sobre el formato de salida.

--oplog

Crea un archivo llamado oplog.bson como parte de la salida mongodump. El archivo oplog.bson, ubicado en el nivel superior del directorio de salida, contiene entradas del oplog que ocurren durante la operación mongodump.

Para aplicar las entradas de oplog del archivo oplog.bson en la operación de restauración, utiliza mongorestore --oplogReplay. Puedes usar mongodump --oplog junto con mongorestore --oplogReplay para 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 mongodump que se ejecuta con --oplog falla si un cliente emite alguna de las operaciones enumeradas durante el proceso de vaciado.

--oplog queda sin efecto cuando se ejecuta mongodump en una instancia mongos para volcar todo el contenido de un clúster fragmentado.

--oplog solo funciona contra nodos que mantienen un oplog. Esto incluye a todos los miembros de un set de réplicas.

--oplog no vuelca la colección de oplog.

No puedes ejecutar mongodump con --oplog en un clúster fragmentado. Para hacer una copia de seguridad de clústeres fragmentados con mongodump, consulta Haz una copia de seguridad de un clúster fragmentado autogestionado con un volcado de base de datos.

Nota

Para usar mongodump con --oplog, debes crear un volcado completo de un miembro de un set de réplicas. mongodump con --oplog falla si utilizas alguna de las siguientes opciones para limitar los datos que se van a vaciar:

  • --db

  • --collection

  • --dumpDbUsersAndRoles

  • --query

--dumpDbUsersAndRoles

Incluye las definiciones de usuario y rol en el directorio de vaciado de la base de datos al realizar mongodump en 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 cuando mongodump se 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 --excludeCollection varias veces.

Para utilizar la opción --excludeCollection, debes especificar una base de datos. Puedes especificar una base de datos con la opción --db o 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 --excludeCollectionsWithPrefix varias veces.

Para utilizar la opción --excludeCollectionsWithPrefix, debes especificar una base de datos. Puedes especificar una base de datos con la opción --db o en la cadena de conexión --uri.

--numParallelCollections=<int>, -j=<int>

Por defecto: 4

Cantidad de colecciones que mongodump debería exportar en paralelo.

--viewsAsCollections

Cuando se especifica, mongodump exporta vistas como colecciones.

Nota

Solo se exportan las vistas. Por defecto, mongodump solo exporta los metadatos de una vista. Para exportar los documentos en una vista, usa la opción --viewsAsCollections.

Para cada vista, mongodump crea un archivo BSON que contiene los documentos de la vista. Si utilizas mongorestore con un archivo BSON creado por mongodump, la vista se restaura como una colección.

Si no incluyes --viewsAsCollections, mongodump captura los metadatos de cada vista. Si incluyes el archivo de metadatos de una vista en una operación mongorestore, la vista se recrea.

--compressors=<string>

Especifica el algoritmo de compresión que mongodump utiliza para la comunicación de red entre el cliente mongodump y el servidor MongoDB. Puede utilizar uno o más de estos valores para la opción --compressors:

  • snappy

  • zlib

  • zstd

Si se especifican varios algoritmos de compresión, mongodump se 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.

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.

Volver

Instalación

En esta página