Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

Cargar datos en un clúster Atlas Infinite.

Para cargar sus propios datos en un clúster de Atlas Infinite, utilice uno de los siguientes métodos:

  • mongodump y mongorestore: mongodump crea una exportación binaria de los datos desde una instancia independiente o un conjunto de réplicas de MongoDB existente, incluido un clúster Atlas Core, y mongorestore carga los datos en un clúster Atlas Infinite. Utilice este método cuando sus datos de origen se encuentren en una implementación de MongoDB. Para obtener más información, consulte Restaurar datos desde una implementación de MongoDB.

  • mongoimport: mongoimport carga documentos desde un archivo JSON o CSV en un clúster de Atlas Infinite. Utilice este método cuando sus datos de origen se encuentren en un archivo externo a MongoDB. El archivo puede provenir de mongoexport o de una herramienta de exportación de terceros. Para obtener más información, consulte Importar datos desde un archivo JSON o CSV.

  • Operaciones de escritura masiva: Los métodos de la base de datos MongoDB escriben lotes de documentos en un clúster de Atlas Infinite. Utilice este método cuando genere o transforme los documentos usted mismo desde una aplicación, mongosh, la interfaz de usuario de Atlas u otra interfaz. Para obtener más información, consulte Escribir datos generados por usted.

Cada uno de estos métodos consume capacidad de escritura en el clúster Atlas Infinite de destino. Para limitar el impacto en sus aplicaciones, ejecute las cargas de datos grandes durante períodos de baja actividad del sistema o durante una ventana de mantenimiento programada.

Complete los siguientes requisitos previos:

mongodump crea una exportación binaria de una instancia de MongoDB independiente o de un conjunto de réplicas existente, y mongorestore carga dicha exportación en un clúster de Atlas Infinite. La exportación incluye datos, metadatos e índices de la implementación de origen. Para obtener instrucciones sobre cómo copiar datos de un clúster de MongoDB fragmentado existente, consulte la sección "Solicitar asistencia".

También puede usar este procedimiento para migrar datos de un clúster gratuito o flexible en Atlas Core a un clúster dedicado en Atlas Infinite. Para escalar un clúster gratuito o flexible in situ en lugar de migrar los datos, consulte Escalar un clúster gratuito o flexible a un clúster dedicado.

Este procedimiento requiere tiempo de inactividad. Detenga las escrituras en su implementación de origen, ejecute mongodump y mongorestore, y luego migre sus aplicaciones al clúster Atlas Infinite.

Antes de ejecutar este procedimiento, tenga en cuenta los siguientes comportamientos:

  • Consistencia de datos: Para evitar la pérdida de datos, pause las escrituras en su implementación de origen antes de ejecutar mongodump. Si ejecuta mongodump desde un miembro secundario, pause las escrituras y espere a que el secundario se sincronice con el principal antes de iniciar el volcado.

  • Usuarios y roles: Atlas administra los usuarios de la base de datos, por lo que mongorestore no puede migrar los usuarios ni los roles existentes al clúster de destino. Cree los usuarios de la base de datos que sus aplicaciones necesitan en el clúster Atlas Infinite de destino. Para obtener más información, consulte Configurar usuarios de la base de datos.

  • Espacios de nombres excluidos: Los directorios admin y config en el volcado contienen información de usuario que mongorestore no puede agregar a un clúster de Atlas Infinite, por lo que el procedimiento excluye admin.* y config.*.

  • Recursos del host: mongodump se ejecuta en un host con acceso de red a la implementación de origen, y mongorestore se ejecuta en un host con acceso al archivo comprimido y acceso de red a la implementación de destino. Ambas herramientas utilizan CPU y memoria del host, lo que puede afectar su rendimiento.

1

Si la implementación de origen exige autenticación, mongodump debe autenticarse como un usuario de base de datos con permisos de lectura para todas las bases de datos que migre. El rol backup en la base de datos admin otorga estos privilegios.

Si no existe ningún usuario con esas características en su implementación de origen, créelo. Para obtener información sobre cómo crear y administrar usuarios de base de datos, consulte la siguiente página correspondiente a su tipo de implementación:

2

El usuariomongorestore debe autenticarse como un usuario de base de datos con permisos de escritura para todas las bases de datos que migre. El rol Atlas admin en el clúster Atlas Infinite de destino otorga estos privilegios.

Si no existe ningún usuario con esas características en el clúster de Atlas Infinite de destino, créelo. Para obtener información sobre cómo crear y administrar usuarios de base de datos en Atlas, consulte Configurar usuarios de base de datos.

3

Asegúrese de que el host donde ejecuta mongodump y mongorestore pueda acceder a ambas implementaciones:

  • Agregue el host a la lista de control de acceso IP del proyecto que contiene su clúster Atlas Infinite de destino. Para obtener información sobre cómo agregar un host a una lista de control de acceso IP, consulte Configurar entradas de la lista de control de acceso IP.

  • Si su implementación de origen es un clúster Atlas Core en un proyecto diferente, agregue también el host a la lista de acceso IP de ese proyecto. Si su implementación de origen es autogestionada, configure su firewall para que acepte conexiones desde el host. Para obtener más información, consulte Refuerzo de la red y la configuración.

Si configura el emparejamiento de VPC, puede agregar el bloque CIDR de la VPC del par, una subred o el grupo de seguridad de la VPC del par a la lista de acceso IP. Para obtener más información, consulte Lista de acceso IP.

4
  1. Ensamble el comando mongodump.

    La siguiente plantilla de comando mongodump se conecta a un conjunto de réplicas de origen o a un clúster independiente utilizando su cadena de conexión y genera un archivo comprimido del volcado en un archivo.

    Copie la plantilla en su editor de texto preferido y reemplace el marcador de posición <connectionString> con la cadena de conexión para su implementación de origen, y <fileName> con el nombre del archivo de archivo que se creará.

    mongodump --uri "<connectionString>" --archive=<fileName>.archive

    Para aprender a construir una cadena de conexión para la implementación de su fuente, consulte la sección Cadenas de conexión.

    Nota

    Si se usa mongodump o mongorestore en Ubuntu 18.04, puede que experimentes un mensaje de error cannot unmarshal DNS al usar cadenas de conexión SRV (en la forma mongodb+srv://) con la opción --uri. En ese caso, utiliza una de las siguientes opciones en su lugar:

  2. Ejecute el comando completado desde una terminal o símbolo del sistema en un host que tenga acceso de red a su implementación de origen.

    Ejemplo

    El siguiente comando mongodump se conecta a un clúster Atlas Core de origen mediante una cadena de conexión SRV, que contiene el nombre de usuario (mySourceUsername) y la contraseña (mySourcePassword) de un usuario de base de datos con el rol backup en la base de datos admin. El comando genera un archivo comprimido del volcado en un archivo llamado mongodump.archive en el directorio de trabajo actual.

    mongodump --uri "mongodb+srv://mySourceUsername:mySourcePassword@cluster0.example.mongodb.net" \
    --archive="mongodump.archive"
5
  1. Ensamble el comando mongorestore.

    La siguiente plantilla de comando mongorestore se conecta a su clúster Atlas Infinite de destino utilizando su cadena de conexión y restaura el archivo creado por mongodump. Utiliza --nsExclude para excluir las bases de datos admin y config, que son administradas por Atlas.

    Copie la plantilla en su editor de texto preferido y reemplace los siguientes marcadores de posición con los valores apropiados:

    • <connectionString>Sustituya esto por la cadena de conexión SRV de su clúster Atlas Infinite de destino. Para obtener o crear una cadena de conexión para su clúster de destino, consulte Cadenas de conexión.

      Incluya el nombre de usuario y la contraseña de un usuario de base de datos con el rol Atlas admin en la cadena de conexión.

    • <filePath>: reemplace esto con la ruta al archivo de archivo creado por mongodump.

    Nota

    Si el nombre de usuario o la contraseña incluye los siguientes caracteres, deben convertirse mediante la codificación porcentual:

    $ : / ? # [ ] @
    mongorestore --uri "<connectionString>" \
    --archive="<filePath>" \
    --nsExclude "admin.*" \
    --nsExclude "config.*"
  2. Ejecute el comando completado desde una terminal o símbolo del sistema en un host que tenga acceso al archivo de archivo creado por mongodump.

    Ejemplo

    El siguiente comando mongorestore se conecta a un clúster de Atlas Infinite mediante una cadena de conexión SRV, que contiene el nombre de usuario (myDestinationUsername) y la contraseña (myDestinationPassword) de un usuario de base de datos con el rol Atlas admin. El comando restaura el archivo ubicado en mongodump.archive creado por mongodump, excluyendo las bases de datos admin y config.

    mongorestore --uri "mongodb+srv://myDestinationUsername:myDestinationPassword@cluster0.example.mongodb.net" \
    --archive="mongodump.archive" \
    --nsExclude "admin.*" \
    --nsExclude "config.*"
6

Una vez finalizada la migración, conéctese a su clúster de Atlas Infinite y verifique que los datos se hayan migrado correctamente. Puede ejecutar consultas para comprobar la presencia de sus colecciones y documentos en el clúster de destino.

7

Tras verificar la migración, actualice sus aplicaciones para que se conecten al clúster de Atlas Infinite en lugar de a la implementación de origen. Asegúrese de utilizar la cadena de conexión y las credenciales correctas para el clúster de Atlas Infinite.

mongoimport lee un archivo JSON o CSV e inserta cada registro en una colección de un clúster de Atlas Infinite. El archivo puede provenir de una herramienta de exportación de terceros. Para restaurar datos de una implementación de MongoDB en un clúster de Atlas Infinite, consulte Restaurar datos de una implementación de MongoDB.

Antes de ejecutar este procedimiento, tenga en cuenta los siguientes comportamientos:

  • JSON extendido: mongoimport utiliza la representación en modo estricto para ciertos tipos de BSON.

  • Solo documentos: A diferencia de mongorestore,mongoimport carga únicamente documentos, no opciones de colección ni definiciones de índice. Cree índices en el clúster Atlas Infinite de destino una vez finalizada la importación.

  • Recursos del host: mongoimport se ejecuta en el host que contiene su archivo y utiliza la CPU y la memoria de ese host.

  • Otras interfaces: Para cargar un archivo sin la línea de comandos, utilice MongoDB Compass, que importa archivos JSON y CSV, o la interfaz de usuario de Atlas, que inserta documentos JSON que usted pega o escribe.

1
  1. Si aún no aparece, se debe seleccionar la organización que contiene el proyecto en el menú Organizations de la barra de navegación.

  2. Si aún no se muestra, seleccione su proyecto en el menú Projects de la barra de navegación.

  3. En la barra lateral, haz clic en Database & Network Access en la sección Security.

La página de acceso a la base de datos y a la red se mostrará después de completar los pasos anteriores.

2

Para ejecutar mongoimport y escribir en un clúster de Atlas, debe especificar un usuario de base de datos con permisos de lectura y escritura en la base de datos a la que se importarán los datos. Por ejemplo, un usuario con el rol Atlas admin proporciona estos permisos.

Si no existe tal usuario, cree uno:

  1. Si aún no se muestra, haz clic en la pestaña Database Users.

  2. Haga clic en Add New Database User.

  3. Agrega un usuario Atlas admin.

3
  1. Si aún no se muestra, seleccione la organización que contiene su proyecto deseado en el menú Organizations de la barra de navegación.

  2. Si aún no aparece, selecciona el proyecto deseado en el menú Projects de la barra de navegación.

  3. En la barra lateral, haz clic en Clusters en la sección Database.

La página de clústeres se muestra.

4

Haz clic en Connect para el clúster de Atlas al que deseas migrar los datos.

5

Si el host donde vas a ejecutar mongoimport no está en la Lista de acceso IP, actualiza la lista. Puedes especificar uno de los dos:

  • La dirección IP pública del servidor en el que mongoimport se ejecutará, o

  • Si se configura para el emparejamiento VPC, se necesita el bloque CIDR (o una subred) de VPC del par o el Security Group de VPC del par, si has seleccionado AWS como el proveedor de nube.

6

Puedes conectarte a tu clúster de Atlas utilizando su URI de cadena de conexión. En el cuadro de diálogo de conexión, realiza los siguientes pasos:

  1. Haga clic en Drivers.

  2. Copie la cadena de conexión encontrada en el paso 1.

  3. Reemplace PASSWORD por la contraseña del usuario root y DATABASE por el nombre de la base de datos a la que desea conectarse.

    Importante

    Se debe escapar de cualquier instancia del carácter @ en el <PASSWORD> proporcionado. Por ejemplo, p@ssword debería ser p%40ssword.

Esta cadena de conexión se especifica en mongoimport en la opción --uri.

Cuando se utiliza --host, si el clúster de Atlas es un set de réplicas, también se debe recuperar el nombre del set de réplicas. Por ejemplo:

myAtlasRS/atlas-host1:27017,atlas-host2:27017,atlas-host3:27017
7

Las operaciones de escritura masiva envían múltiples escrituras a un clúster de Atlas Infinite en una sola solicitud, lo que reduce los viajes de ida y vuelta de la red y aumenta el rendimiento de escritura. Elija este método para escribir los documentos que genere en un clúster de Atlas Infinite, en lugar de copiar datos de una implementación o archivo existente.

Antes de ejecutar este procedimiento, tenga en cuenta los siguientes comportamientos:

  • Comportamiento de escritura masiva: Las operaciones y opciones de escritura que especifique en una solicitud de escritura masiva determinan cómo MongoDB ordena las operaciones de escritura, gestiona los errores e informa los resultados de una solicitud. Para saber cómo afectan estas opciones al comportamiento de escritura masiva, consulte la página de referencia bulkWrite().

  • Otras interfaces: Para escribir una pequeña cantidad de documentos sin lógica de procesamiento por lotes, utilice insertMany() o insertOne() de mongosh o un controlador de MongoDB, o lainterfaz de usuario de Atlas, que inserta JSON documentos que usted pega o escribe.

1

Para ejecutar las operaciones de escritura masiva descritas en este procedimiento, conéctese a su clúster mediante mongosh. Para obtener más información, consulte Conectarse a un clúster de Atlas.

También puede ejecutar operaciones de escritura masiva desde el código de la aplicación con un controlador de MongoDB, desde la interfaz de usuario de Atlas o desde cualquier otra interfaz que se conecte a su clúster. Para obtener información sobre las operaciones equivalentes en cada interfaz, consulte Operaciones de escritura masiva.

2

Para escribir en una sola colección, ejecute bulkWrite(). Para obtener más información sobre los tipos de operaciones de escritura y las opciones de escritura masiva, consulte bulkWrite().

Por ejemplo, el siguiente comando inserta dos documentos en la colección inventory:

db.inventory.bulkWrite( [
{ insertOne: { document: {
_id: ObjectId("68b1c2d3e4f5a6b7c8d9e0f1"),
item: "notebook",
qty: 50
} } },
{ insertOne: { document: {
_id: ObjectId("68b1c2d3e4f5a6b7c8d9e0f2"),
item: "pencil",
qty: 100
} } }
] )

Para escribir en varias colecciones o bases de datos en una sola solicitud, ejecute bulkWrite() y especifique el espacio de nombres para cada operación. Por ejemplo, el siguiente comando inserta un documento en la colección sales.inventory y otro en la colección supplies.inventory:

db.getMongo().bulkWrite( [
{
namespace: "sales.inventory",
name: "insertOne",
document: { item: "notebook", qty: 50 }
},
{
namespace: "supplies.inventory",
name: "insertOne",
document: { item: "pencil", qty: 100 }
}
] )

De forma predeterminada, las operaciones de escritura masiva se ejecutan en orden y se detienen ante el primer error. Para obtener información sobre cómo configurar el orden de ejecución, consulte la sección Ejecución de operaciones.

3

Revise los recuentos que devuelve la operación y confirme la cantidad de documentos en cada colección de destino. Para obtener más información, consulte la sección Salida.

Para obtener información sobre cómo gestionar los errores en las operaciones de escritura masiva, consulte la sección Gestión de errores.

Atlas Infinite tiene una lista completa de limitaciones de la vista previa pública en Disponibilidad de vista previa pública. Las siguientes limitaciones se aplican cuando carga datos en un clúster de Atlas Infinite:

  • Sin reproducción de oplog: Atlas Infinite no admite la reproducción de oplog. No utilice la opción mongodump --oplog ni la opción mongorestore --oplogReplay con clústeres de Atlas Infinite.

  • Cifrado consultable y cifrado de campo del lado del cliente: No puede usar mongodump ni mongorestore con una colección que utilice cifrado consultable o cifrado de campo del lado del cliente.

  • Migración y restauración en vivo entre ediciones: Atlas Infinite no admite la migración en vivo ni la copia de seguridad y restauración entre clústeres de Atlas Core y Atlas Infinite. Las diferencias arquitectónicas entre ambas opciones de implementación hacen que las instantáneas y las migraciones en vivo sean incompatibles.