Esta documentación es para la versión 100.14.1 de mongorestore.
Definición
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
mongorestoredesde la línea de comandos del sistema, no desde el MongoDB Shell.MongoDB no admite la ejecución simultánea de varios programas
mongorestorepara la misma colección.No puedes usar
mongorestorecon una colección que utiliza Queryable Encryption.
Sintaxis
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.
opciones
Esta sección incluye información sobre todas las opciones disponibles para mongorestore.
--archive=<file>Restaura desde un archivo creado por
mongodump --archive.mongorestorerestaura 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
mongorestorecon la opción--archivey el nombre del archivo de fichero.Para restaurar desde la entrada estándar, ejecuta
mongorestorecon la opción--archivey 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
mongodumpcon la bandera--archive, que imprime su salida enstdout, o salida estándar. Luego, la entrada se canaliza a la entrada estándar demongorestoreutilizando el operador pipe|.Importante
No se puede usar la opción
--archivecon la opción--dir, que especifica el directorio de vaciado.Las opciones
--dby--collectionestá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
--archivecon el parámetro<path>,mongorestoreignora<path>.
--authenticationDatabase=<dbname>Especifica la base de datos de autenticación en la que se ha creado el
--usernameespecificado. Utilícelo en conjunto con las opciones--usernamey--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-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
mongorestoreutiliza para autenticarse en elmongodo en elmongos.Cambiado en la versión 100.1.0: A partir de la versión
100.1.0,mongorestoreagrega 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.
--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.
--bypassDocumentValidationPermite a
mongorestoreomitir 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
--dby--collectionestá 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
mongorestoreva a restaurar los datos al realizar una restauración desde un archivo BSON. Si no se especifica--collection,mongorestoretomará 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
mongodumputiliza para la comunicación de red entre el clientemongorestorey 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,
mongorestorese 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
passwordsin especificaruri, puede especificar los otros componentes de la cadena de conexión utilizando las opciones de línea de comandosmongorestore, 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--sslPEMKeyPasswordmongorestore, la opción de línea de comandos anulará la opción correspondiente del archivo de configuración.
--convertLegacyIndexesNuevo en la versión 100.0.0.
Remueve cualquier opción de índice no válida especificada en la correspondiente
mongodumpsalida, 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,nameycollationson válidos, pero uncustom_fieldarbitrario no lo es. Con--convertLegacyIndexesespecificado, 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,
1y-1son valores de clave de índice válidos, pero0o una string vacía son valores heredados. Con--convertLegacyIndexesespecificado, cualquier valor de clave de índice heredado que se encuentre se reescribirá como1. Los valores de string que no están vacíos no se reemplazan.
Sin la opción
--convertLegacyIndexesespecificada, 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
--noIndexRestorecomomongorestore, se ignora la opción--convertLegacyIndexes.
--db=<database>, -d=<database>Importante
El uso de las opciones
--dby--collectionestá 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
mongorestoredebe restaurar los datos al restaurar desde un archivo BSON. Si la base de datos no existe,mongorestorecreará la base de datos. Por ejemplo, el siguiente ejemplo restaura la colecciónsalariesen la base de datosreporting.mongorestore --db=reporting dump/test/salaries.bson Si no especifica
--db,mongorestorelee 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--dby ademas se especifica información conflictiva, resultará en error.
--dir=stringEspecifica el directorio de vaciado.
No puede especificar tanto la opción
--dircomo el argumento<path>, que también especifica el directorio de vaciado, paramongorestore.No puedes utilizar la opción
--archivecon la opción--dir.
--dropAntes de restaurar las colecciones desde la copia de seguridad vaciada, se deben descartar las colecciones de la base de datos de destino.
--dropno descarta colecciones que no están en la copia de seguridad.Cuando la restauración incluye la base de datos
admin,mongorestorecon--dropremueve todas las credenciales de usuario y las reemplaza con los usuarios definidos en el archivo de vaciado. Por lo tanto, en sistemas conauthorizationhabilitado,mongorestoredebe poder autenticarse ante un usuario existente y ante un usuario definido en el archivo de vaciado. Simongorestoreno 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
--dropcon--preserveUUID.
--dryRunEjecuta
mongorestoresin importar realmente ningún dato, devolviendo la información resumida demongorestore. Utilízalo con--verbosepara generar información de resumen más detallada.
--fixDottedHashIndexCrea 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.
--gzipRestaura 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|
mongorestorecon la opción--gzip.Para restaurar desde un archivo comprimido, ejecutar
mongorestorecon ambas opciones--gzipy--archive.
--host=<hostname><:port>, -h=<hostname><:port>Por defecto: localhost:27017
Especifica el nombre de host resoluble de la implementación de MongoDB. Por defecto,
mongorestoreintenta 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,
mongorestoresiempre se conecta al primario.También puedes conectarte a cualquier Nodo individual del Set de réplicas especificando el host y el puerto de solo ese Nodo:
--host=<hostname1><:port> Si utilizas IPv6 y el formato
<address>:<port>, debes encerrar la parte de una combinación de dirección y puerto entre corchetes (por ejemplo,[<address>]).Alternativamente, también puedes especificar el nombre de host directamente en el
URI connection string. El ofrecer una cadena de conexión, mientras también se utiliza--hosty ademas se especifica información conflictiva, resultará en error.
--keepIndexVersionImpide que
mongorestoreactualice el índice a la versión más reciente durante el proceso de restauración.
--maintainInsertionOrderPor defecto: false
Si se especifica,
mongorestoreinserta 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
--maintainInsertionOrdertambién habilita--stopOnErrory establecenumInsertionWorkersPerCollectionen 1.Si no se especifica,
mongorestorepuede realizar las inserciones en un orden arbitrario.
--noIndexRestoreImpide que
mongorestorerestaure y construya índices según lo especificado en la salida correspondientemongodump.
--noOptionsRestoreImpide que
mongorestoreestablezca las opciones de la colección, como las especificadas por el comando de base de datoscollMod, 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
--nsExcludevarias veces para excluir múltiples patrones de namespace.Si se especifica tanto
--nsExcludecomo--nsInclude, el patrón que--nsExcludeespecifica tiene prioridad. Por ejemplo, si se especifica tanto--nsExclude="prod.*"como--nsInclude="prod.trips", no se restaurará ninguna colección del namespaceprod.
--nsFrom=<namespace pattern>Se debe usar con
--nsTopara renombrar un namespace durante la operación de restauración.--nsFromespecifica la colección en el archivo de vaciado, mientras que--nsToespecifica el nombre que debe utilizarse en la base de datos restaurada.--nsFromacepta un patrón de namespace como su argumento. El patrón de namespace permite a--nsFromreferirse a cualquier namespace que coincida con el patrón especificado.mongorestorecoincide 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--nsFromdebe corresponder a un asterisco en--nsTo, y el primer asterisco en--nsFromcoincide con el primer asterisco ennsTo.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
--nsIncludevarias 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,
mongodumpgenera 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
--nsExcludecomo--nsInclude, el patrón que--nsExcludeespecifica tiene prioridad. Por ejemplo, si se especifica tanto--nsExclude="prod.*"como--nsInclude="prod.trips", no se restaurará ninguna colección del namespaceprod.
--nsTo=<namespace pattern>Se debe usar con
--nsFrompara renombrar un namespace durante la operación de restauración.--nsToespecifica el nuevo nombre de la colección que se utilizará en la base de datos restaurada, mientras que--nsFromespecifica el nombre en el archivo de vaciado.--nsToacepta un patrón de namespace como su argumento. El patrón de namespace permite a--nsToreferirse a cualquier namespace que coincida con el patrón especificado.mongorestorecoincide 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--nsFromdebe corresponder a un asterisco en--nsTo, y el primer asterisco en--nsFromcoincide con el primer asterisco ennsTo.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
mongorestoredebería restaurar en paralelo.Si se especifica
-jal restaurar una única colección,-jse asigna a la opción--numInsertionWorkersPerCollectionen lugar de--numParallelCollections.
--objcheckObliga a
mongorestorea 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,--objcheckpuede 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
--oplogFiley hay un archivooplog.bsonen el nivel superior del directorio de vaciado,mongorestoredevuelve un error.Advertencia
Utiliza
oplogFilecon 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
mongorestoreaplique 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
oplogLimitcon 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
--oplogLimitjunto con la opción--oplogReplay.
--oplogReplayDespué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.bsonen la restauración, se utilizamongorestore --oplogReplay. Es posible usarmongodump --oplogjunto conmongorestore --oplogReplaypara garantizar que los datos estén actualizados y contengan todo lo que se guardó durante la operación de vaciado.mongorestorebusca 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ónoplog.rsen la base de datoslocalen unmongodque es un nodo de un set de réplicas.
Si hay un archivo
oplog.bsonen el nivel superior del directorio de vaciado y una ruta especificada por--oplogFile,mongorestoredevolverá un error.Si hay un archivo
oplog.bsonen el nivel superior del directorio de vaciado,mongorestorerestaura ese archivo como el oplog. Si también hay archivos bson en el directoriodump/local,mongorestorelos restaura como colecciones normales.Si especificas un archivo de oplog usando
--oplogFile,mongorestorerestaura ese archivo como el oplog. Si también hay archivos bson en el directoriodump/local,mongorestorelos 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
mongorestorecon--oplogReplaypara restaurar un set de réplicas, se debe restaurar un vaciado completo de un nodo del set de réplicas creado usandomongodump --oplog.mongorestorecon--oplogReplayfalla si se utiliza alguna de las siguientes opciones para limitar los datos a restaurar:
--password=<password>, -p=<password>Especifica una contraseña con la que autenticarse en una base de datos de MongoDB que utiliza autenticación. Utiliza en conjunto con las
--usernamey--authenticationDatabaseopciones.Para solicitar la contraseña al usuario, pasar la opción
--usernamesin--passwordo especificar una string vacía como valor de--password, como en--password="".Alternativamente, también puedes especificar la contraseña directamente en la
URI connection string. El ofrecer una cadena de conexión, mientras también se utiliza--passwordy ademas se especifica información conflictiva, resultará en error.Si se realiza la conexión a un clúster MongoDB Atlas con el
authentication mechanismdeMONGODB-AWS, se puede especificar la clave de acceso secreta de AWS en:este campo,
la
connection stringola variable de entorno
AWS_SECRET_ACCESS_KEY.
Consulta Conectar a un clúster de MongoDB Atlas usando credenciales de AWS IAM para obtener un ejemplo de cada uno.
Advertencia
En algunos sistemas, una contraseña proporcionada directamente mediante la opción
--passwordpuede ser visible para programas de estado del sistema, comops, que pueden ser invocados por otros usuarios. Considera en cambio:omitiendo la opción
--passwordpara recibir una solicitud interactiva de contraseña, outilizando la opción
--configpara especificar un archivo de configuración que contenga la contraseña.
<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, paramongorestore.
--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.
--preserveUUIDLas 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.
--quietEjecuta
mongorestoreen modo silencioso que intenta limitar la cantidad de salida.Esta opción suprime:
errors
Actividad de replicación
eventos de aceptación de conexión
eventos de cierre de conexión
--restoreDbUsersAndRolesRestaura 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
--restoreDbUsersAndRolesen un vaciado de base de datos que se haya creado con la opción--dumpDbUsersAndRoles.Restaurar la base de datos
adminespecificando--db adminrestaura automáticamente a todos los usuarios y roles. No se puede utilizar--restoreDbUsersAndRolesen la base de datosadmin, y si se intenta, se produce un error.
--sslPermite la conexión a un
mongodo a unmongosque tenga habilitado el soporte de TLS/SSL.Alternativamente, también puedes configurar el soporte TLS/SSL directamente en el
URI connection string. Proveer una cadena de conexión, mientras también se utiliza--ssly se especifica información conflictiva, resultará en error.Para obtener más información sobre TLS/SSL y MongoDB, consulta Configurar mongod y mongos para TLS/SSL y Configuración de TLS/SSL para clientes.
--sslAllowInvalidCertificatesOmite las comprobaciones de validación de los certificados de servidor y permite el uso de certificados no válidos. Si utilizas la configuración
allowInvalidCertificates, MongoDB realiza un registro como advertencia del uso del certificado no válido.Advertencia
Aunque está disponible, evita utilizar la opción
--sslAllowInvalidCertificatesen lo posible. Si necesitas usar--sslAllowInvalidCertificates, utiliza únicamente la opción en los sistemas donde no sea posible la intrusión.Conectarse a una instancia
mongodomongossin validar los certificados del servidor es un riesgo potencial para la seguridad. Si solo necesitas deshabilitar la validación del nombre de host en los certificados TLS/SSL, consulta--sslAllowInvalidHostnames.Alternativamente, también puedes deshabilitar la validación del certificado directamente en la
URI connection string. Proveer una cadena de conexión, mientras también se utiliza--sslAllowInvalidCertificatesy se especifica información conflictiva, resultará en error.Para obtener más información sobre TLS/SSL y MongoDB, consulta Configurar mongod y mongos para TLS/SSL y Configuración de TLS/SSL para clientes.
--sslAllowInvalidHostnamesDesactiva la validación de los nombres de host en los certificados TLS/SSL. Permite a
mongorestoreconectarse a instancias de MongoDB incluso si el nombre de host en sus certificados no coincide con el nombre de host especificado.Como alternativa, también puedes desactivar la validación del nombre de host directamente en la
URI connection string. El ofrecer una cadena de conexión, mientras también se utiliza--sslAllowInvalidHostnamesy ademas se especifica información conflictiva, resultará en error.Para obtener más información sobre TLS/SSL y MongoDB, consulta Configurar mongod y mongos para TLS/SSL y Configuración de TLS/SSL para clientes.
--sslCAFile=<filename>Especifica el archivo
.pemque contiene la cadena de certificados raíz de la Autoridad Certificadora. Especifica el nombre del archivo.pemcon rutas relativas o absolutas.Alternativamente, también puedes especificar el archivo
.pemdirectamente en laURI connection string. Proveer una cadena de conexión, mientras también se utiliza--sslCAFiley se especifica información conflictiva, resultará en error.Para obtener más información sobre TLS/SSL y MongoDB, consulta Configurar mongod y mongos para TLS/SSL y Configuración de TLS/SSL para clientes.
--sslCRLFile=<filename>Especifica el archivo
.pemque contiene la Lista de revocación de certificados. Especifica el nombre del archivo.pemcon rutas relativas o absolutas.Para obtener más información sobre TLS/SSL y MongoDB, consulta Configurar mongod y mongos para TLS/SSL y Configuración de TLS/SSL para clientes.
--sslPEMKeyFile=<filename>Especifica el archivo
.pemque contiene tanto el certificado TLS/SSL como la clave. Especifica el nombre del archivo.pemcon rutas relativas o absolutas.Esta opción es obligatoria cuando se utiliza la opción
--sslpara conectarse a unmongodomongosque tieneCAFilehabilitado sinallowConnectionsWithoutCertificates.Alternativamente, también puedes especificar el archivo
.pemdirectamente en laURI connection string. Proveer una cadena de conexión, mientras también se utiliza--sslPEMKeyFiley se especifica información conflictiva, resultará en error.Para obtener más información sobre TLS/SSL y MongoDB, consulta Configurar mongod y mongos para TLS/SSL y Configuración de TLS/SSL para clientes.
--sslPEMKeyPassword=<value>Especifica la contraseña para descifrar el archivo de clave del certificado (es decir,
--sslPEMKeyFile). Utiliza la opción--sslPEMKeyPasswordsolo si el archivo de clave del certificado está cifrado. En todos los casos, elmongorestoreocultará 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, elmongorestoresolicitará una frase de contraseña. Consultar la frase de contraseña del certificado TLS/SSL.Alternativamente, también puedes especificar la contraseña directamente en la
URI connection string. El ofrecer una cadena de conexión, mientras también se utiliza--sslPEMKeyPasswordy ademas se especifica información conflictiva, resultará en error.Para obtener más información sobre TLS/SSL y MongoDB, consulta Configurar mongod y mongos para TLS/SSL y Configuración de TLS/SSL para clientes.
Advertencia
En algunos sistemas, una contraseña proporcionada directamente mediante la opción
--sslPEMKeyPasswordpuede ser visible para los programas de estado del sistema, comops, que pueden ser invocados por otros usuarios. En su lugar, considera usar la opción--configpara especificar un archivo de configuración que contenga la contraseña.
--stopOnErrorObliga a
mongorestorea detener la restauración cuando se encuentra con un error.Por defecto,
mongorestorecontinú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.0demongorestore, 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://omongodb+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
--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
mongorestoreen 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.
--username=<username>, -u=<username>Especifica un nombre de usuario con el cual autenticarte en una base de datos MongoDB que utiliza autenticación. Utilízalo en conjunto con las
--passwordy--authenticationDatabaseopciones.Alternativamente, también puede especificar el nombre de usuario directamente en el
URI connection string. Proporcionar una cadena de conexión mientras también se utiliza--usernamey especificar información conflictiva resultará en un error.Si se realiza la conexión a un clúster de MongoDB Atlas con el
MONGODB-AWSauthentication mechanism, se puede especificar la ID de clave de acceso de AWS en:este campo,
la
connection stringola variable de entorno
AWS_ACCESS_KEY_ID.
Consulta Conectar a un clúster de MongoDB Atlas usando credenciales de AWS IAM para obtener un ejemplo de cada uno.
--verbose, -vAumenta la cantidad de reportes internos devueltos en la salida estándar o en las entradas de registro. Aumenta el nivel de verbosidad con la forma
-vincluyendo la opción varias veces (por ejemplo,-vvvvv.)
--writeConcern=<document>Por defecto: mayoría
Especifica el nivel de confirmación de escritura para cada operación de escritura que
mongorestorerealiza.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--writeConcernanula el nivel de confirmación de escritura especificado en la string URI.