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.
Comportamiento
Restaurar a la versión del servidor coincidente
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.
Solo insertar
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.
Orden de 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.
Reconstruir índices
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.
Excluir system.profile Colección
mongorestore no restaura los datos de la colección system.profile.
FIPS
mongorestore crea automáticamente conexiones compatibles con FIPS a mongod/mongos que está configurado para utilizar el modo FIPS
Nivel de confirmación de escritura
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.
Colecciones de series de tiempo
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.
Uso de mongorestore en los clústeres gratuitos y flexibles de Atlas
En los clústeres Free (M0) y Flex, se aplican las siguientes limitaciones:
No puedes ejecutar
mongorestoreen la base de datosadmin. Por defecto,mongorestoreomite esta base de datos. Si utilizas la opción--dbpara establecer la base de datos de destino enadmin, 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.
Acceso requerido
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:
| Si los datos de la copia de seguridad incluyen datos de la colección Tanto los roles incorporados |
| Para ejecutar con, Otorgar sólo a usuarios que deben ejecutar |
Uso en la estrategia de copia de seguridad
Conjuntos independientes/réplicas
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.
Clústeres fragmentados
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: