Docs Menu
Docs Home
/ /

mongorestore

Esta documentación es para la versión 100.14.1 de mongorestore.

El programa mongorestore carga datos desde un volcado de base de datos binario creado por mongodump o la entrada estándar en un Instanciamongod o.mongos se instalamongorestore cuando instala las herramientas de base de datos MongoDB.

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.

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.

mongorestore presenta los siguientes comportamientos y limitaciones:

  • Se debe ejecutar mongorestore desde la línea de comandos del sistema, no desde el MongoDB Shell.

  • MongoDB no admite la ejecución simultánea de varios programas mongorestore para la misma colección.

  • No puedes usar mongorestore con una colección que utiliza Queryable Encryption.

Utilice la siguiente sintaxis de comando al ejecutar mongorestore:

mongorestore <options> <connection-string> <directory or file to restore>

Consultar Opciones para ver qué opciones se pueden usar al ejecutar mongorestore.

Al ejecutar mongorestore sin argumentos, la configuración por defecto es restaurar datos desde un directorio ./dump local a una instancia mongod local que se ejecuta en el puerto 27017:

mongorestore

También se puede especificar un directorio dump en una ruta diferente. Por ejemplo, el siguiente comando restaura datos desde un directorio en ./downloads/dump a un clúster de Atlas especificado por una cadena de conexión:

mongorestore --uri="<my-connection-string>" ./downloads/dump

A medida que mongorestore se restaura desde el directorio indicado, crea la base de datos y las colecciones según sea necesario y deja un registro del progreso:

2019-07-08T14:37:38.942-0400 preparing collections to restore from
2019-07-08T14:37:38.944-0400 reading metadata for test.bakesales from dump/test/bakesales.metadata.json
2019-07-08T14:37:38.944-0400 reading metadata for test.salaries from dump/test/salaries.metadata.json
2019-07-08T14:37:38.976-0400 restoring test.salaries from dump/test/salaries.bson
2019-07-08T14:37:38.985-0400 no indexes to restore
2019-07-08T14:37:38.985-0400 finished restoring test.salaries (10 documents, 0 failures)
2019-07-08T14:37:39.009-0400 restoring test.bakesales from dump/test/bakesales.bson
2019-07-08T14:37:39.011-0400 restoring indexes for collection test.bakesales from metadata
2019-07-08T14:37:39.118-0400 finished restoring test.bakesales (21 documents, 0 failures)
2019-07-08T14:37:39.118-0400 restoring users from dump/admin/system.users.bson
2019-07-08T14:37:39.163-0400 restoring roles from dump/admin/system.roles.bson
2019-07-08T14:37:39.249-0400 31 document(s) restored successfully. 0 document(s) failed to restore.

También es posible restaurar una colección o colecciones específicas desde el directorio dump. Por ejemplo, la siguiente operación restaura la colección test.purchaseorders desde los archivos de datos correspondientes en el directorio dump:

mongorestore --nsInclude=test.purchaseorders ./dump

Si el directorio dump no contiene el archivo de datos correspondiente para el namespace especificado, mongorestore no se restaura ningún dato. Por ejemplo, el siguiente comando especifica un namespace de colección que no tiene datos correspondientes en el directorio dump:

mongorestore --nsInclude=foo.bar dump/

mongorestore genera los siguientes mensajes:

2019-07-08T14:38:15.142-0400 preparing collections to restore from
2019-07-08T14:38:15.142-0400 0 document(s) restored successfully. 0 document(s) failed to restore.

Si mongorestore no puede encontrar información de la base de datos en la --nsInclude opción, el archivo de metadatos o el nombre del directorio de volcado, restaura a una test base de datos. Por ejemplo, el siguiente mongorestore comando restaura desde un bands.bson archivo:

mongorestore ./bands.bson

Debido a que no hay información de espacio de nombres o ruta como ./dump/music/bands.bson, mongorestore tiene el siguiente resultado:

2026-01-23T11:26:31.821-0500 restoring test.bands from bands.bson
2026-01-23T11:26:31.867-0500 finished restoring test.bands (1 document, 0 failures)
2026-01-23T11:26:31.867-0500 1 document(s) restored successfully. 0 document(s) failed to restore.

mongorestore restaura los datos a una colección bands en la base de datos test. Crea la base de datos y la colección si no existen.

Para más mongorestore ejemplos, consulte Ejemplos de mongorestore.

Esta sección incluye información sobre todas las opciones disponibles para mongorestore.

--archive=<file>

Restaura desde un archivo creado por mongodump --archive. mongorestore restaura desde el archivo especificado o, si no se especifica un archivo, desde la entrada estándar (stdin).

Para restaurar desde un archivo de archivo, ejecutar mongorestore con la opción --archive y el nombre del archivo de fichero.

Para restaurar desde la entrada estándar, ejecuta mongorestore con la opción --archive y omite el nombre del archivo.

El siguiente ejemplo muestra cómo restaurar desde la entrada estándar:

mongodump --archive | mongorestore --archive

Esta pipeline de comandos primero ejecuta mongodump con la bandera --archive, que imprime su salida en stdout, o salida estándar. Luego, la entrada se canaliza a la entrada estándar de mongorestore utilizando el operador pipe |.

Importante

  • No se puede usar la opción --archive con la opción --dir, que especifica el directorio de vaciado.

  • Las opciones --db y --collection están en desuso al restaurar desde un archivo de fichero. Para restaurar una base de datos o colección específica, utilizar --nsInclude.

  • Si se utiliza la opción --archive con el parámetro <path>, mongorestore ignora <path>.

--authenticationDatabase=<dbname>

Especifica la base de datos de autenticación en la que se ha creado el --username especificado. Utilícelo en conjunto con las opciones --username y --password.

Para obtener más información sobre las bases de datos de autenticación, consulta Base de datos de autenticación.

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 mongorestore utiliza para autenticarse en el mongod o en el mongos.

Cambiado en la versión 100.1.0: A partir de la versión 100.1.0, mongorestore 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.

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

--bypassDocumentValidation

Permite a mongorestore omitir la validación de documentos durante la operación. Esto permite insertar documentos que no cumplen con los requisitos de validación.

--collection=<collection>, -c=<collection>

Importante

El uso de las opciones --db y --collection está en desuso al restaurar desde un directorio o un archivo de archivo. Para restaurar una base de datos o colección específica desde un archivo o directorio, consulta --nsInclude.

Especifica el nombre de la colección de destino en la que mongorestore va a restaurar los datos al realizar una restauración desde un archivo BSON. Si no se especifica --collection, mongorestore tomará el nombre de la colección del nombre del archivo de entrada. Si el archivo de entrada tiene una extensión, MongoDB omite la extensión del archivo del nombre de la colección.

mongorestore --db=reporting --collection=employeesalaries dump/test/salaries.bson
--compressors=<string>

Especifica el algoritmo de compresión que mongodump utiliza para la comunicación de red entre el cliente mongorestore 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, mongorestore 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.

--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 mongorestore:

Esta es la forma recomendada de especificar una contraseña para mongorestore, 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 mongorestore, 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 mongorestore, la opción de línea de comandos anulará la opción correspondiente del archivo de configuración.

--convertLegacyIndexes

Nuevo en la versión 100.0.0.

Remueve cualquier opción de índice no válida especificada en la correspondiente mongodump salida, y reescribe cualquier valor de clave de índice heredado para usar valores válidos.

  • Las opciones de índice no válidas son aquellas opciones especificadas para un índice que no están listadas como un campo válido para el comando createIndexes. Por ejemplo, name y collation son válidos, pero un custom_field arbitrario no lo es. Con --convertLegacyIndexes especificado, se descarta cualquier opción de índice no válida que se encuentre.

  • Los valores de clave de índice heredados son aquellos valores para tipo de índice que ya no se admiten. Por ejemplo, 1 y -1 son valores de clave de índice válidos, pero 0 o una string vacía son valores heredados. Con --convertLegacyIndexes especificado, cualquier valor de clave de índice heredado que se encuentre se reescribirá como 1. Los valores de string que no están vacíos no se reemplazan.

Sin la opción --convertLegacyIndexes especificada, la presencia de opciones de índice no válidas o valores clave de índice heredados podría causar que la creación de índices falle.

Si se especifica la opción --noIndexRestore como mongorestore, se ignora la opción --convertLegacyIndexes.

--db=<database>, -d=<database>

Importante

El uso de las opciones --db y --collection está en desuso al restaurar desde un directorio o un archivo de archivo. Para restaurar una base de datos o colección específica desde un archivo o directorio, consulta --nsInclude.

Especifica la base de datos de destino en la que mongorestore debe restaurar los datos al restaurar desde un archivo BSON. Si la base de datos no existe, mongorestore creará la base de datos. Por ejemplo, el siguiente ejemplo restaura la colección salaries en la base de datos reporting.

mongorestore --db=reporting dump/test/salaries.bson

Si no especifica --db, mongorestore lee el nombre de la base de datos desde los archivos de datos.

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.

--dir=string

Especifica el directorio de vaciado.

  • No puede especificar tanto la opción --dir como el argumento <path>, que también especifica el directorio de vaciado, para mongorestore.

  • No puedes utilizar la opción --archive con la opción --dir.

--drop

Antes de restaurar las colecciones desde la copia de seguridad vaciada, se deben descartar las colecciones de la base de datos de destino. --drop no descarta colecciones que no están en la copia de seguridad.

Cuando la restauración incluye la base de datos admin, mongorestore con --drop remueve todas las credenciales de usuario y las reemplaza con los usuarios definidos en el archivo de vaciado. Por lo tanto, en sistemas con authorization habilitado, mongorestore debe poder autenticarse ante un usuario existente y ante un usuario definido en el archivo de vaciado. Si mongorestore no puede autenticarse ante un usuario definido en el archivo de vaciado, el proceso de restauración fallará, y dejará una base de datos vacía.

Si se descarta y recrea una colección como parte de la restauración, la colección recién creada tiene un UUID diferente a menos que se utilice --drop con --preserveUUID.

--dryRun

Ejecuta mongorestore sin importar realmente ningún dato, devolviendo la información resumida de mongorestore. Utilízalo con --verbose para generar información de resumen más detallada.

--fixDottedHashIndex

Crea todos los índices encriptados en campos punteados como índices ascendentes de campo único en la base de datos de destino.

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

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

--gzip

Restaura desde archivos comprimidos o flujo de datos creado por mongodump --gzip.

Para la restauración desde un directorio de vaciado que contenga archivos comprimidos, ejecuta| mongorestore con la opción --gzip.

Para restaurar desde un archivo comprimido, ejecutar mongorestore con ambas opciones --gzip y --archive.

Nota

Se pueden usar las opciones --nsFrom y --nsTo con la opción --gzip para cambiar el namespace de la colección que se está restaurando.

--help

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

--host=<hostname><:port>, -h=<hostname><:port>

Por defecto: localhost:27017

Especifica el nombre de host resoluble de la implementación de MongoDB. Por defecto, mongorestore 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, mongorestore 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 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 --host y ademas se especifica información conflictiva, resultará en error.

--keepIndexVersion

Impide que mongorestore actualice el índice a la versión más reciente durante el proceso de restauración.

--maintainInsertionOrder

Por defecto: false

Si se especifica, mongorestore inserta los documentos en el orden de su aparición en la fuente de entrada. Es decir, se mantienen tanto el orden del agrupamiento de guardado masivo como el orden de los documentos dentro de las agrupaciones.

Especificar --maintainInsertionOrder también habilita --stopOnError y establece numInsertionWorkersPerCollection en 1.

Si no se especifica, mongorestore puede realizar las inserciones en un orden arbitrario.

--noIndexRestore

Impide que mongorestore restaure y construya índices según lo especificado en la salida correspondiente mongodump.

--noOptionsRestore

Impide que mongorestore establezca las opciones de la colección, como las especificadas por el comando de base de datos collMod, en las colecciones restauradas.

--nsExclude=<namespace pattern>

Especifica un patrón de namespace (por ejemplo, "test.myCollection", "reporting.*", "dept*.bar") para excluir los namespace coincidentes de la restauración. En el patrón, puedes usar asteriscos * como comodines. Para un ejemplo del patrón comodín, consulta Restaurar colecciones usando comodines.

Se puede especificar --nsExclude varias veces para excluir múltiples patrones de namespace.

Si se especifica tanto --nsExclude como --nsInclude, el patrón que --nsExclude especifica tiene prioridad. Por ejemplo, si se especifica tanto --nsExclude="prod.*" como --nsInclude="prod.trips", no se restaurará ninguna colección del namespace prod.

--nsFrom=<namespace pattern>

Se debe usar con --nsTo para renombrar un namespace durante la operación de restauración. --nsFrom especifica la colección en el archivo de vaciado, mientras que --nsTo especifica el nombre que debe utilizarse en la base de datos restaurada.

--nsFrom acepta un patrón de namespace como su argumento. El patrón de namespace permite a --nsFrom referirse a cualquier namespace que coincida con el patrón especificado. mongorestore coincide con la ocurrencia válida más pequeña del patrón de namespace.

Para reemplazos simples, usa asteriscos (*) como comodines. Escapa todos los asteriscos y barras invertidas literales con una barra invertida. Los reemplazos corresponden linealmente a las coincidencias: cada asterisco en --nsFrom debe corresponder a un asterisco en --nsTo, y el primer asterisco en --nsFrom coincide con el primer asterisco en nsTo.

Para reemplazos más complejos, se utilizan signos de dólar para delimitar una variable "comodín" que se usará en el reemplazo. Cambiar namespaces de la colección durante la restauración ofrece un ejemplo de reemplazos complejos con comodines delimitados por signos de dólar.

A diferencia de los reemplazos con asteriscos, los reemplazos con comodines delimitados por el signo de dólar no necesitan ser lineales.

--nsInclude=<namespace pattern>

Especifica un patrón de namespace (por ejemplo, "test.myCollection", "reporting.*", "dept*.bar") para restaurar únicamente los namespaces que coincidan con el patrón. En el patrón, se pueden usar asteriscos * como comodines. Para obtener un ejemplo del patrón de comodines, consultar Restaurar colecciones usando comodines.

Puedes especificar--nsInclude varias veces para incluir múltiples patrones de namespace.

Si el directorio o archivo de origen (es decir, el directorio o archivo desde el que estás restaurando los datos) no contiene archivos de datos que coincidan con el patrón de namespace, no se restaurarán datos.

Para los nombres de colección que contienen caracteres no ASCII, mongodump genera los nombres de archivo correspondientes con nombres codificados por porcentaje. Sin embargo, para restaurar estas colecciones, no utilices los nombres codificados. En su lugar, utiliza el namespace con caracteres no ASCII.

Por ejemplo, si el directorio de vaciado contiene dump/test/caf%C3%A9s.bson, especifique --nsInclude "test.cafés".

Si se especifica tanto --nsExclude como --nsInclude, el patrón que --nsExclude especifica tiene prioridad. Por ejemplo, si se especifica tanto --nsExclude="prod.*" como --nsInclude="prod.trips", no se restaurará ninguna colección del namespace prod.

--nsTo=<namespace pattern>

Se debe usar con --nsFrom para renombrar un namespace durante la operación de restauración. --nsTo especifica el nuevo nombre de la colección que se utilizará en la base de datos restaurada, mientras que --nsFrom especifica el nombre en el archivo de vaciado.

--nsTo acepta un patrón de namespace como su argumento. El patrón de namespace permite a --nsTo referirse a cualquier namespace que coincida con el patrón especificado. mongorestore coincide con la ocurrencia válida más pequeña del patrón de namespace.

Para reemplazos simples, usa asteriscos (*) como comodines. Escapa todos los asteriscos y barras invertidas literales con una barra invertida. Los reemplazos corresponden linealmente a las coincidencias: cada asterisco en --nsFrom debe corresponder a un asterisco en --nsTo, y el primer asterisco en --nsFrom coincide con el primer asterisco en nsTo.

Para reemplazos más complejos, se utilizan signos de dólar para delimitar una variable "comodín" que se usará en el reemplazo. Cambiar namespaces de la colección durante la restauración ofrece un ejemplo de reemplazos complejos con comodines delimitados por signos de dólar.

A diferencia de los reemplazos con asteriscos, los reemplazos con comodines delimitados por el signo de dólar no necesitan ser lineales.

--numInsertionWorkersPerCollection=<int>

Por defecto: 1

Especifica el número de trabajadores de inserción que deben ejecutarse concurrentemente por colección.

Para grandes importaciones, aumentar el número de trabajadores de inserción puede incrementar la velocidad de la importación.

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

Por defecto: 4

El número de colecciones que mongorestore debería restaurar en paralelo.

Si se especifica -j al restaurar una única colección, -j se asigna a la opción --numInsertionWorkersPerCollection en lugar de --numParallelCollections.

--objcheck

Obliga a mongorestore a validar todas las solicitudes de los clientes al recibirlas para asegurarse de que los clientes no inserten documentos inválidos en la base de datos. Para objetos con un alto grado de anidamiento de subdocumentos, --objcheck puede tener un pequeño impacto en el rendimiento.

--oplogFile=<path>

Especifica la ruta al archivo oplog que contiene los datos de oplog para la restauración. Se debe usar con --oplogReplay.

Si se especifica --oplogFile y hay un archivo oplog.bson en el nivel superior del directorio de vaciado, mongorestore devuelve un error.

Advertencia

Utiliza oplogFile con precaución: especificar manualmente las entradas del oplog que se deben aplicar podría causar corrupción e inconsistencias en los datos restaurados.

--oplogLimit=<timestamp>

Impide que mongorestore aplique las entradas de oplog con una marca de tiempo más reciente o igual que <timestamp>. Se deben especificar los valores de <timestamp> en la forma de <time_t>:<ordinal>, donde <time_t> son los segundos desde la UNIX epoch, y <ordinal> representa un contador de operaciones en el oplog que ocurrieron en el segundo especificado.

Advertencia

Utiliza oplogLimit con precaución: especificar manualmente las entradas del oplog que se deben aplicar podría causar corrupción e inconsistencias en los datos restaurados.

Debes usar --oplogLimit junto con la opción --oplogReplay.

--oplogReplay

Después de restaurar el vaciado de la base de datos, reproduce las entradas del oplog desde un archivo oplog.bson.

Para aplicar las entradas del oplog del archivo oplog.bson en la restauración, se utiliza mongorestore --oplogReplay. Es posible usar mongodump --oplog junto con mongorestore --oplogReplay para garantizar que los datos estén actualizados y contengan todo lo que se guardó durante la operación de vaciado.

mongorestore busca cualquier fuente válida para el archivo BSON en las siguientes ubicaciones:

  • El nivel superior del directorio de vaciado, como en el caso de un vaciado creado con mongodump --oplog.

  • La ruta especificada por --oplogFile.

  • <dump-directory>/local/oplog.rs.bson, como en el caso de un vaciado de la colección oplog.rs en la base de datos local en un mongod que es un nodo de un set de réplicas.

Si hay un archivo oplog.bson en el nivel superior del directorio de vaciado y una ruta especificada por --oplogFile, mongorestore devolverá un error.

Si hay un archivo oplog.bson en el nivel superior del directorio de vaciado, mongorestore restaura ese archivo como el oplog. Si también hay archivos bson en el directorio dump/local, mongorestore los restaura como colecciones normales.

Si especificas un archivo de oplog usando --oplogFile, mongorestore restaura ese archivo como el oplog. Si también hay archivos bson en el directorio dump/local, mongorestore los restaura como colecciones normales.

El siguiente mensaje en la salida de reproducción del oplog muestra el número de inserciones antes de la reproducción del oplog. No se incluyen las inserciones realizadas durante la reproducción.

0 document(s) restored successfully. 0 document(s) failed to
restore.

Para obtener un ejemplo de --oplogReplay, consultar Usar un archivo oplog para realizar copias de seguridad y restaurar de datos.

Nota

Al utilizar mongorestore con --oplogReplay para restaurar un set de réplicas, se debe restaurar un vaciado completo de un nodo del set de réplicas creado usando mongodump --oplog. mongorestore con --oplogReplay falla si se utiliza alguna de las siguientes opciones para limitar los datos a restaurar:

Tip

--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 --username y --authenticationDatabase opciones.

Para solicitar la contraseña al usuario, pasar la opción --username sin --password o 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 --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.

<path>

La ruta del directorio o el nombre del archivo BSON desde el cual restaurar los datos.

No puede especificar tanto el argumento <path> como la opción --dir, que también especifica el directorio de vaciado, para mongorestore.

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

--preserveUUID

Las colecciones restauradas utilizan el UUID de los datos de la restauración en lugar de crear un nuevo UUID para las colecciones que se descartan y se recrean como parte de la restauración.

Para usar --preserveUUID, también debe incluir la opción --drop.

--quiet

Ejecuta mongorestore en modo silencioso que intenta limitar la cantidad de salida.

Esta opción suprime:

--restoreDbUsersAndRoles

Restaura las definiciones de usuario y rol para la base de datos dada. Consulta la colección system.roles y la colección system.users para obtener más información.

Nota

  • Solo puede usar --restoreDbUsersAndRoles en un vaciado de base de datos que se haya creado con la opción --dumpDbUsersAndRoles.

  • Restaurar la base de datos admin especificando --db admin restaura automáticamente a todos los usuarios y roles. No se puede utilizar --restoreDbUsersAndRoles en la base de datos admin, y si se intenta, se produce un error.

--ssl

Permite la conexión a un mongod o a un mongos que 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 --ssl y 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.

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

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.

--sslAllowInvalidHostnames

Desactiva la validación de los nombres de host en los certificados TLS/SSL. Permite a mongorestore 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.

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

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.

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

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 .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 habilitado 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.

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 --sslPEMKeyPassword solo si el archivo de clave del certificado está cifrado. En todos los casos, el mongorestore ocultará 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, el mongorestore solicitará 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 --sslPEMKeyPassword y 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 --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.

--stopOnError

Obliga a mongorestore a detener la restauración cuando se encuentra con un error.

Por defecto, mongorestore continúa cuando encuentra errores de validación de documentos y claves duplicadas. Para asegurarse de que el programa se detenga en estos errores, se debe especificar --stopOnError.

--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 mongorestore, la cadena de conexión puede proporcionarse alternativamente como un parámetro posicional, sin utilizar la opción --uri:

mongorestore 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:

mongorestore --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 mongorestore 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.

--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 --password y --authenticationDatabase opciones.

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.

--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 incluyendo la opción varias veces (por ejemplo, -vvvvv.)

--version

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

--writeConcern=<document>

Por defecto: mayoría

Especifica el nivel de confirmación de escritura para cada operación de escritura que mongorestore realiza.

Especifica el nivel de confirmación de escritura como un documento con opciones w:

--writeConcern="{w:'majority'}"

Si, además, se incluye el nivel de confirmación de escritura en el --uri connection string, la línea de comandos --writeConcern anula el nivel de confirmación de escritura especificado en la string URI.

Volver

Ejemplos

En esta página