Overview
Esta sección describe las opciones de conexión y autenticación de MongoDB disponibles en el driver Kotlin sincronizar. Puedes configurar tu conexión estableciendo opciones ya sea en la URI de conexión o dentro de una instancia MongoClientSettings.
Configura opciones en el URI de conexión
Si pasas un URI de conexión al método MongoClient.create(), puedes incluir las opciones de conexión en la string como pares <name>=<value>. En el siguiente ejemplo, el URI de conexión contiene la opción connectTimeoutMS con un valor de 60000 y la opción tls con un valor de true:
val uri = "mongodb://<hostname>:<port>/?connectTimeoutMS=60000&tls=true" val mongoClient = MongoClient.create(uri)
Establece las opciones en MongoClientSettings
Puedes configurar opciones de conexión en una instancia de MongoClientSettings usando métodos de la clase MongoClientSettings.Builder y luego pasando el objeto de configuración al método MongoClient.create().
Configurar la conexión de esta manera facilita el cambio de configuraciones en tiempo de ejecución y puede ayudar a detectar errores en tiempo de compilación.
El siguiente ejemplo muestra cómo especificar el destino de conexión y ajustar otras opciones al crear una instancia de MongoClientSettings:
val settings = MongoClientSettings.builder() .applyToClusterSettings { builder -> builder.hosts(listOf(ServerAddress("localhost", 27017))) } .applyToSocketSettings { builder -> builder.connectTimeout(60000, TimeUnit.MILLISECONDS) } .applyToSslSettings { builder -> builder.enabled(true) } .build() val mongoClient = MongoClient.create(settings)
Si prefieres proporcionar una cadena de conexión en lugar de especificar el hostname y el puerto, puedes usar el método applyConnectionString(), y luego establecer otras opciones usando métodos del builder, como se muestra en el siguiente código:
val uri = "<connection string>" val settings = MongoClientSettings.builder() .applyConnectionString(ConnectionString(uri)) .applyToSocketSettings { builder -> builder.connectTimeout(60000, TimeUnit.MILLISECONDS) } .applyToSslSettings { builder -> builder.enabled(true) } .build() val mongoClient = MongoClient.create(settings)
Opciones de conexión
Las siguientes secciones describen las opciones de conexión disponibles en el driver de Kotlin sincronizar. Cada opción muestra el par opción-valor que puedes usar en un URI de conexión y, si está disponible, el método del controlador para configurarlo dentro de una instancia MongoClientSettings.
Compresión de la red
Opción de conexión | Descripción |
|---|---|
compresores | Los tipos de compresión preferidos, en orden, para los mensajes del protocolo de conexión enviados al servidor o recibidos de este. El driver utiliza el primero de estos tipos de compresión que admite el servidor. |
zlibCompressionLevel | El nivel de compresión de zlib que se debe usar. Esta opción acepta un valor entero entre |
Tiempos de espera
Opción de conexión | Descripción | |||
|---|---|---|---|---|
connectTimeoutMS | El tiempo en milisegundos en que se intenta una conexión antes de que se agote el tiempo de espera. URI de conexión: | |||
socketTimeoutMS (deprecated) | Esta opción está obsoleta. Puede configurar este tiempo de espera URI de conexión: |
Selección de servidores
Opción de conexión | Descripción | |||
|---|---|---|---|---|
serverSelectionTimeoutMS | La cantidad máxima de tiempo, en milisegundos, que el driver espera para que la selección del servidor tenga éxito antes de lanzar una excepción. URI de conexión: |
Autenticación
Tip
Para aprender más sobre las opciones de autenticación, consulta la sección Mecanismos de autenticación.
Opción de conexión | Descripción | |||
|---|---|---|---|---|
mecanismo de autenticación | El mecanismo que utiliza el driver de sincronización de Kotlin para autenticar la aplicación. URI de conexión: | |||
authMechanismProperties | Opciones específicas del mecanismo de autenticación. Esta opción no es necesaria para todos los mecanismos de autenticación. | |||
authSource | La base de datos en la que autenticarse. | |||
Nombre de usuario | El nombre de usuario para la autenticación. Cuando esta opción se incluye en una URI de conexión, debes codificarla con porcentaje. | |||
Contraseña | La contraseña para la autenticación. Cuando esta opción se incluye en una URI de conexión, debes codificarla con porcentaje. |
Operaciones de Lectura y Escritura
Para obtener más información sobre cómo conectar con diferentes tipos de implementaciones de MongoDB, consulta la guía Elige un Target de Conexión.
Opción de conexión | Descripción | |||
|---|---|---|---|---|
replicaSet | Especifica el nombre del set de réplicas al que conectarse. | |||
directConnection | Si se conecta solo al nodo primario del set de réplicas. URI de conexión: | |||
readPreference | Especifica la preferencia de lectura del cliente. Para obtener más información, consulte Preferencia de lectura en el manual del servidor. | |||
readConcern | Especifica el nivel de consistencia de lectura del cliente. Para obtener más información, consulte Nivel de consistencia de lectura en el manual del servidor. | |||
writeConcern | Especifica el nivel de confirmación de escritura (write concern) del cliente. Para obtener más información, consulte Nivel de confirmación de escritura (write concern) en el manual del servidor. | |||
localThresholdMS | La ventana de latencia para la elegibilidad de un nodo de set de réplicas. Si el ping de ida y vuelta de un nodo tarda más que el tiempo de ping de ida y vuelta del servidor más rápido más este valor, el servidor no es elegible para la selección. URI de conexión: |
Información Adicional
Para ver una lista completa de opciones de conexión, consulta Cadenas de conexión en el manual del servidor.
Documentación de la API
Para obtener más información sobre las clases y métodos mencionados en esta guía, consulta la siguiente documentación API: