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

Elija un destino de conexión

En esta guía, puedes aprender a usar una cadena de conexión y un objeto MongoClient para conectarte a diferentes tipos de implementación de MongoDB.

Para conectarte a una implementación de MongoDB en Atlas, incluye los siguientes elementos en tu cadena de conexión:

  • La URL de tu clúster Atlas

  • Su nombre de usuario de la base de datos de MongoDB

  • Tu contraseña de la base de datos de MongoDB

Luego, pasa tu cadena de conexión al constructor de MongoClient.

Tip

Siga la guía de conexión del driver Atlas para recuperar su cadena de conexión.

Cuando te conectes a Atlas, recomendamos utilizar la opción del cliente Stable API para evitar cambios disruptivos cuando Atlas se actualice a una nueva versión de MongoDB Server. Para obtener más información sobre la funcionalidad Stable API, consulta la guía Conexión con Stable API.

El siguiente código muestra cómo utilizar el controlador de sincronización de Kotlin para conectarse a un clúster de Atlas. El código también utiliza el método serverApi() para especificar una versión Stable API.

// Defines Stable API version
val serverApi = ServerApi.builder()
.version(ServerApiVersion.V1)
.build()
// Uses MongoClientSettings to apply connection string and specify the Stable API version
val settings = MongoClientSettings.builder()
.applyConnectionString("<connection string URI>")
.serverApi(serverApi)
.build()
val mongoClient = MongoClient.create(settings)

Para conectarse a una implementación local de MongoDB, use localhost como el nombre de host. Por defecto, el proceso mongod se ejecuta en el puerto 27017, aunque puedes personalizarlo para tu implementación.

El siguiente código demuestra cómo usar el driver de sincronización de Kotlin para conectarse a una implementación local de MongoDB:

val settings = MongoClientSettings.builder()
.applyConnectionString("mongodb://localhost:27017")
.build()
val mongoClient = MongoClient.create(settings)

Para conectarse a un set de réplicas, se deben especificar los nombres de host (o direcciones IP) y los números de puerto de los miembros del set de réplicas.

Si no puedes proporcionar una lista completa de hosts en el set de réplicas, puedes especificar uno o más de los hosts en el set de réplicas e instruir al driver Kotlin Sync para que realice un descubrimiento automático y encuentre los demás. Para indicar al controlador que realice un descubrimiento automático, realice una de las siguientes acciones:

  • Especifique el nombre del set de réplicas como el valor del parámetro replicaSet.

  • Especifique false como el valor del parámetro directConnection.

  • Especifica más de un host en el conjunto de réplicas.

Nota

El constructor MongoClient es no bloqueante. Al conectarse a un set de réplicas, el constructor devuelve el control inmediatamente mientras el cliente utiliza hilos en segundo plano para conectarse al set de réplicas.

Si construye un MongoClient e imprime inmediatamente la representación de cadena de su atributo nodes, la lista podría estar vacía mientras el cliente se conecta a los miembros del set de réplicas.

Los siguientes ejemplos muestran cómo conectarse a un set de réplicas de MongoDB que funciona en el puerto 27017 de tres hosts diferentes mediante el uso de la clase ConnectionString o MongoClientSettings. Selecciona la pestaña que corresponde a tu clase preferida.

val mongoClient = MongoClient.create("mongodb://host1:27017,host2:27017,host3:27017/")
val hosts = listOf(
ServerAddress("host1", 27017),
ServerAddress("host2", 27017),
ServerAddress("host3", 27017)
)
val settings = MongoClientSettings.builder()
.applyToClusterSettings { builder ->
builder.hosts(hosts)
}
.build()
val mongoClient = MongoClient.create(settings)

Nota

Set de réplicas en Docker

Cuando un set de réplicas se ejecuta en Docker, se podría exponer solo un punto final de MongoDB. En este caso, el set de réplicas no se puede detectar. Si se especifica directConnection=false en la URI de conexión, o se deja esta opción sin configurar, puedes evitar que tu aplicación se conecte a ella.

En un entorno de prueba o desarrollo, se puede conectar al set de réplicas especificando directConnection=true. En un entorno de producción, se recomienda configurar el clúster para que cada instancia de MongoDB sea accesible fuera de la red virtual de Docker.

Para usar el descubrimiento de servicios DNS para buscar el registro DNS SRV del servicio al que te conectas, especifica el formato de conexión SRV en la cadena de conexión. Si se especifica este formato, el driver de Kotlin Sync vuelve a escanear automáticamente por nuevos hosts. Tu implementación puede añadir hosts a su topología sin requerir cambios en la configuración del cliente.

El siguiente código muestra una cadena de conexión que utiliza el formato de conexión SRV:

val uri = "mongodb+srv://<hostname>/"

Para aprender más sobre el formato de conexión SRV, consulta la entrada Formato de conexión SRV en el manual de MongoDB Server.