Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /
/ / /

Comportamiento, acceso y uso de mongorestore

Advertencia

Vaciado de datos y restauración: conflictos con el prefijo $ en los campos

A partir de MongoDB 5.0, los nombres de campos de documentos pueden tener como prefijo un carácter de dólar ($). Sin embargo, mongodump y mongorestore no funcionarán con nombres de campos que estén precedidos de un carácter de dólar en las opciones de una colección.

MongoDB Extended JSON (v2) no puede diferenciar entre los contenedores de tipo y los campos que tienen el mismo nombre que los contenedores de tipo. No uses los formatos extendidos de JSON si la representación BSON correspondiente puede incluir claves con el prefijo $. El mecanismo de DBRefs es una excepción a esta regla general.

Al utilizar mongorestore para cargar archivos de datos creados por mongodump, las versiones de MongoDB de las implementaciones de origen y destino deben ser una de las siguientes:

  • La misma versión principal.

  • La misma compatibilidad de características entre versiones.

Por ejemplo, si su volcado se creó a partir de una implementación de MongoDB que ejecuta la versión 4.4, la implementación de MongoDB que restaure también debe ejecutar la versión 4.4 o tener su FCV configurado en 4.4.

Para cambiar su versión de compatibilidad de características entre versiones, consulte setFeatureCompatibilityVersion.

Nota

Puedes restaurar los archivos BSON generados desde mongodump en implementaciones de MongoDB que ejecuten la misma versión o una más reciente que la de la implementación de origen. Sin embargo, restaurar archivos en una implementación de versión más reciente no es la forma recomendada de actualizar tu implementación. Para aprender cómo actualizar su implementación, consulte la documentación de actualización.

Esta garantía no se aplica a los metadatos, los archivos de archivo ni a los de reproducción de oplog. Si intentas restaurar estos archivos utilizando versiones de implementación de origen y destino diferentes, el proceso mongorestore podría resultar en un fallo, un fallo silencioso o metadatos corruptos.

Además, asegúrate de utilizar la misma versión de mongorestore para cargar los archivos de datos que la versión de mongodump que se utilizó para crearlos. Por ejemplo, si utilizaste mongodump versión 100.15.0 para crear el vaciado, utiliza mongorestore versión 100.15.0 para restaurarlo.

mongorestore puede crear una nueva base de datos o añadir datos a una base de datos existente. Sin embargo, mongorestore realiza solo inserciones y no realiza actualizaciones. Si restauras documentos a una base de datos y colección existente y los documentos existentes tienen el mismo valor para el campo _id que los documentos a restaurar, mongorestore no sobrescribirá esos documentos.

Por defecto, mongorestore puede insertar documentos en un orden aleatorio. Para preservar el orden de los documentos durante el proceso de restauración, utilice --maintainInsertionOrder.

mongorestore recrea los índices registrados por mongodump después de restaurar los datos.

Nota

Para las instalaciones de MongoDB con featureCompatibilityVersion (FCV) configurado en "4.0" o anterior, la creación de índices generará un error si una clave de índice en un documento existente excede el límite.

Para evitar este problema, considera usar índices hash o indexación un valor calculado en su lugar. Para resolver el problema del índice después de la restauración de los datos, puedes desactivar la validación por defecto de la longitud de la clave de índice en la base de datos de destino configurando el parámetro mongod instancia's failIndexKeyTooLong en falso.

mongorestore no restaura los datos de la colección system.profile.

mongorestore crea automáticamente conexiones compatibles con FIPS a mongod/mongos que está configurado para utilizar el modo FIPS

Si especificas el nivel de confirmación de escritura (write concern) tanto en la opción --writeConcern como en la opción de cadena de conexión --uri, el valor de --writeConcern sobrescribirá el nivel de confirmación de escritura (write concern) especificado en la cadena URI.

A partir de MongoDB 5.0, puedes utilizar mongorestore para restaurar colecciones de series temporales. Para más detalles, consulta Restaurar una colección de series de tiempo.

En los clústeres Free (M0) y Flex, se aplican las siguientes limitaciones:

  • No puedes ejecutar mongorestore en la base de datos admin. Por defecto, mongorestore omite esta base de datos. Si utilizas la opción --db para establecer la base de datos de destino en admin, el programa devuelve un error.

  • No puedes utilizar las siguientes opciones con el programa mongorestore:

Nota

Reversiones del clúster de destino

Si el clúster sufre un rollback durante el proceso de restauración, elimine todos los datos restaurados o importados y realice el proceso nuevamente desde el principio. Ver la documentación de rollback para obtener más detalles.

Para restaurar los datos en una implementación de MongoDB que tiene control de acceso habilitado, el rol restore proporciona los privilegios necesarios para restaurar los datos de las copias de seguridad si los datos no incluyen datos de la colección system.profile y ejecuta mongorestore sin la opción --oplogReplay.

Si los datos de copia de seguridad incluyen los datos de una colección system.profile o si ejecutas mongorestore con la opción --oplogReplay, necesitas privilegios adicionales:

system.profile

Si los datos de la copia de seguridad incluyen datos de la colección system.profile y la base de datos de destino no contiene la colección system.profile, mongorestore intenta crear la colección incluso si el programa en realidad no restaura los documentos system.profile. Por lo tanto, el usuario requiere privilegios adicionales para realizar acciones de createCollection y convertToCapped en la colección system.profile de una base de datos.

Tanto los roles incorporados dbAdmin como dbAdminAnyDatabase otorgan privilegios adicionales.

--oplogReplay

Para ejecutar con,--oplogReplay cree un rol definido por el usuario que tenga anyAction en cualquier recurso.

Otorgar sólo a usuarios que deben ejecutar mongorestore --oplogReplaycon.

Para obtener una descripción general del mongorestore uso de como parte de una estrategia de copia de seguridad y recuperación, consulte Realizar copias de seguridad y restaurar con herramientas MongoDB.

Para utilizar mongodump y como estrategia de respaldo para clústeres fragmentados, consulte Realizar mongorestore una copia de seguridad de un clúster fragmentado autoadministrado con un volcado de base de datos.

Los clústeres fragmentados también pueden utilizar uno de los siguientes procesos coordinados de copia de seguridad y restauración, que garantizan la atomicidad entre particiones mientras siguen admitiendo escrituras:

Volver

Compatibilidad e instalación

En esta página