Advertencia
Conflictos en la Importación y Exportación de Datos con ($) y (.)
A partir de MongoDB 5.0, los nombres de los campos de documento pueden ir precedidos de un signo de dólar ($) y puede contener un carácter de punto (.). Sin embargo, mongoimport y mongoexport no funcionarán con nombres de campos que usen esos caracteres.
MongoDB Extended JSON v2 no puede diferenciar entre contenedores de tipo y campos que casualmente tienen el mismo nombre que los contenedores de tipo. No utilices formatos Extended JSON en los contextos donde las representaciones BSON correspondientes puedan incluir llaves con el prefijo ($). El mecanismo de DBRef es una excepción a esta regla general.
También existen restricciones en el uso de mongoimport y mongoexport con (.) en los nombres de campo. Dado que los archivos CSV utilizan (.) para representar jerarquías de datos, un (.) en un nombre de campo se interpretará erróneamente como un nivel de anidamiento.
Comportamiento
Fidelidad de tipo
Si necesita preservar todos los tipos de datos complejos de BSON al usar mongoexport para realizar copias de seguridad completas de instancias, especifique JSON extendido v2.0 (modo canónico) en la opción --jsonFormat:
mongoexport --jsonFormat=canonical --collection=<coll> <connection-string>
Si no especificas --jsonFormat, mongoexport genera datos en JSON extendido v2.0 (modo relajado) por defecto.
mongoimport utiliza automáticamente el formato JSON encontrado en el archivo de datos de destino especificado al restaurar. Por ejemplo, si el archivo de exportación de datos de destino fue creado por mongoexport con --jsonFormat=canonical especificado, utiliza el modo canónico).
JSON Format
mongoimport requiere que los datos de importación estén en el formato JSON extendido v2.0 (canónico) o JSON extendido v2.0 (relajado) por defecto. Para importar datos formateados usando Extended JSON v1.0, especifica la opción --legacy.
Tip
En general, las versiones de mongoexport y mongoimport deben coincidir. Es decir, para importar datos creados desde mongoexport, debe usar la versión correspondiente de mongoimport.
Orden de documento
Por defecto, mongoimport puede insertar documentos en un orden aleatorio. Para preservar el orden de los documentos durante el proceso de restauración, utilice --maintainInsertionOrder.
Codificación
mongoimport solo admite archivos de datos que estén codificados en UTF-8. El uso de otras codificaciones produce errores.
FIPS
mongoimport 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 --uri connection string, el valor --writeConcern anulará el nivel de confirmación de escritura (write concern) especificado en la cadena URI.
agrupar
mongoimport utiliza un tamaño máximo de agrupar de 100,000 para realizar operaciones de inserción masiva/inserción.
Colecciones de series de tiempo
Para importar datos de series de tiempo, debes crear una colección de series de tiempo antes de ejecutar mongoimport. mongoimport no admite la creación automática de colecciones de series temporales. Para mayor información sobre cómo crear una colección, consulta createCollection().
Acceso requerido
Para conectarse a un mongod que aplica autorización con la opción --auth, debe usar las opciones --username y --password. El usuario que se conecta debe poseer, como mínimo, el rol de readWrite en la base de datos a la que está importando datos.