Advertencia
Cuando se hace un volcado a un sistema de archivos que no diferencia entre mayúsculas y minúsculas, como Windows o macOS, las colecciones cuyos nombres solo difieren por la capitalización pueden sobrescribirse. Para los sistemas de archivos que no distinguen entre mayúsculas y minúsculas, siempre usa el --archive option.
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
Uso de mongodump sin un authSource
Cuando authSource no está especificado en la URI de MongoDB, el nombre de la base de datos especificado en --db se utiliza tanto para autenticar tu sesión mongodump como para indicar la base de datos que se está extrayendo. Para obtener un ejemplo sobre el uso de una base de datos distinta para la autenticación al usar mongodump, consulte Autenticar con una base de datos específica.
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.
preferencia de lectura
De forma predeterminada, mongodump usa primary la preferencia de lectura. Para anularla, puede especificar la preferencia de lectura en la opción de línea de comandos --readPreference o --uri connection string en.
Si se especifica la preferencia de lectura tanto en la cadena URI como en la opción,--readPreference el --readPreference valor anula la preferencia de lectura especificada en la cadena URI.
Exclusión de datos
Si especifica tanto la opción --db como la opción --collection, mongodump se vuelca la colección especificada.
Si solo especifica la --db opción, mongodump vuelca esa base de datos con las siguientes exclusiones:
Si el valor de
--dbesadmin:Si no estás conectado a un proxy de Atlas,
mongodumprealiza un vaciado de la base de datos pero excluye la colecciónsystem.keys.Si está conectado a un Atlas Proxy,
mongodumpintenta realizar un vaciado de la base de datos pero se produce un error.
Si el valor de
--dbesconfig,mongodumpvuelca todas las colecciones en esa base de datos.Si el valor de
--dbeslocal,mongodumpvuelca todas las colecciones en esa base de datos.Para todas las demás bases de datos,
mongodumpexcluye todas las colecciones que comienzan consystem., exceptosystem.js.
Si omite la opción --db, se aplicarán las siguientes exclusiones:
mongodumpexcluye la base de datoslocal.mongodumpsólo incluye las siguientes colecciones en la salida para la base de datosconfig:chunkscollectionsdatabasessettingsshardstagsversion
Si estás conectado a un Proxy de Atlas,
mongodumpexcluye la base de datosadmin.
mongodump Salida:
Contiene los documentos de la base de datos y las definiciones de índices.
No contiene los datos del índice.
mongorestore o mongod debe reconstruir los índices después de restaurar los datos.
Si estás utilizando visualizaciones:
Por defecto,
mongodumpsolo exporta los metadatos de una vista.mongodumpno crea una exportación binaria de los documentos incluidos en la vista.Para exportar los documentos en una vista, utiliza
--viewsAsCollections.
Metadata Output
Si mongodump genera salida en un directorio, la salida contiene metadatos de colección que incluyen las siguientes propiedades:
Nombres de las colecciones
Tipos de colección
Opciones de configuración de colección
UUID
Indexes
Si mongodump produce datos en la salida estándar (stdout), la salida no incluye metadatos. Para más información, consulta la opción --out.
Metadata Format
mongodump utiliza el formato Extended JSON v2.0 (Canonical) para los archivos de metadatos. Para analizar estos archivos para la restauración, utiliza mongorestore, que es compatible con el formato Extended JSON v2.0 (Canonical o modo relajado).
Sobrescribir archivos
mongodump sobrescribe los archivos de salida si existen en la carpeta de datos de copia de seguridad. Antes de ejecutar el comando mongodump varias veces, asegúrate de que ya no necesitas los archivos en la carpeta de salida (la carpeta por defecto es la dump/) o renombra las carpetas o archivos.
mongodump Durante la re-fragmentación
mongodump falla si:
mongodumpse inicia cuando una operación de cambio de partición está en progreso.El comando se ejecuta durante
reshardCollectionunamongodumpoperación.
Manejo de compresión de datos
Cuando se ejecuta en una instancia de mongod que utiliza el motor de almacenamiento WiredTiger, mongodump produce datos sin comprimir.
conjunto de trabajo
mongodump puede afectar negativamente el rendimiento de mongod. Si tus datos son mayores que la memoria del sistema, mongodump sacará el conjunto de trabajo de la memoria.
FIPS
mongodump crea automáticamente conexiones compatibles con FIPS a un mongod o mongos que estén configurados para usar el modo FIPS.
Uso de mongodump en clústeres de Atlas Free and Shared nivel
En los clústeres Atlas gratuitos (M0) y compartidos (M2 y M5) de niveles, se aplican las siguientes limitaciones:
No puedes ejecutar
mongodumpen la base de datosadmin. Por defecto,mongodumpomite 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
mongodump:
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 ejecutar mongodump en una implementación de MongoDB que tiene habilitado el control de acceso, debes tener privilegios que otorguen acción de find para cada base de datos que quieras respaldar. El rol integrado backup proporciona los privilegios requeridos para realizar copias de seguridad de todas y cada una de las bases de datos.
Uso en la estrategia de copia de seguridad
Implementaciones autónomas y sets de réplicas
Para un autónomo o un set de réplicas, mongodump puede formar parte de una estrategia de copia de seguridad con mongorestore para copias de seguridad parciales basadas en una query, sincronización del entorno de producción al de pruebas o de desarrollo, o cambio del motor de almacenamiento de una instancia autónoma.
Para obtener detalles sobre cómo usar mongodump con mongorestore como parte de una estrategia de copia de seguridad y recuperación, consulta:
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: