Overview
Esta sección describe las opciones de conexión y autenticación de MongoDB disponibles en el driver Ruby. Puedes configurar tu conexión utilizando el URI de conexión (también llamado cadena de conexión) o pasando argumentos al constructor Mongo::Client.
Uso del URI de conexión
Si pasas un URI de conexión al constructor Mongo::Client, puedes incluir opciones de conexión en la string como pares <name>=<value>. En el siguiente ejemplo, el URI de la conexión contiene la opción connectTimeoutMS con un valor de 60000 y la opción tls con un valor de true:
uri = "mongodb://<hostname>:<port>/?connectTimeoutMS=60000&tls=true" client = Mongo::Client.new(uri)
Usando un Mongo::Client
Puede pasar opciones de conexión como argumentos al constructor Mongo::Client en lugar de incluirlas en su URI de conexión. Cuando configuras tu conexión de esta manera, es más fácil para ti cambiar los ajustes en tiempo de ejecución y detectar errores durante la compilación. El siguiente ejemplo muestra cómo usar el constructor Mongo::Client para configurar opciones de conexión:
uri = "mongodb://<hostname>:<port>" client = Mongo::Client.new(uri, connect_timeout: 60000, ssl: true)
Opciones de conexión
Las siguientes secciones describen las opciones de conexión disponibles en el controlador Ruby.
Compresión de la red
Opción de conexión | Descripción |
|---|---|
compresores | Lista de posibles compresores a utilizar, en orden de preferencia. El controlador elige el primer compresor que también sea compatible con el servidor. Actualmente, el controlador solo |
zlib_compression_level | Nivel de compresión de Zlib a utilizar, si se usa compresión. Esta opción acepta un valor entero entre |
Tiempos de espera
Opción de conexión | Descripción |
|---|---|
timeout_conexión | Número de segundos que se deben esperar para establecer una conexión de socket antes de generar una excepción. Este tiempo de espera también se utiliza para la resolución de registros DNS SRV. |
:timeout_ms | Número de milisegundos que se deben esperar para que se ejecute una operación antes de generar una excepción. |
Selección de servidores
Opción de conexión | Descripción |
|---|---|
:balanceo de carga | Indica si se debe esperar la conexión a un balanceador de carga. |
:server_monitoring_mode | Protocolo de monitorización del servidor que se utilizará. Cuando esta opción se establece en Tipo de datos: |
:server_selection_timeout | El tiempo máximo, en segundos, que el controlador espera a que la selección del servidor sea exitosa antes de generar una excepción. |
Para obtener más información sobre la selección de servidores, consulte la guía Selección de Servidores.
Autenticación
Opción de conexión | Descripción |
|---|---|
auth_mech | Mecanismo que utiliza el controlador Ruby para autenticar la aplicación. |
propiedades_mecánica_autenticación | Opciones específicas del mecanismo de autenticación. Esta opción no es necesaria para todos los mecanismos de autenticación. |
origen_de_autenticación | Base de datos para autenticarse. |
Usuario/a | |
:contraseña |
Operaciones de Lectura y Escritura
Opción de conexión | Descripción |
|---|---|
Conjunto de réplicas | Especifica el nombre del conjunto de réplicas al que conectarse. |
conexión_directa | Si se debe conectar directamente al host especificado |
:enable_overload_retargeting | Indica si el controlador reduce la prioridad de un servidor que devuelve un error de sobrecarga, disminuyendo así la probabilidad de reintentar la conexión con el mismo servidor sobrecargado. |
max_intentos_adaptativos | Número máximo de reintentos que se intentarán cuando el controlador encuentre errores de sobrecarga. |
:leer | Opciones de preferencia de lectura. Para obtener más información, consulte Preferencia de lectura en el manual del servidor MongoDB. |
:read_concern | Especifica las opciones de seguridad de lectura. Para obtener más información, consulte Seguridad de lectura en el manual del servidor MongoDB. |
conformidad_de_lectura | Especifica la responsabilidad de escritura del cliente. Para obtener más información, consulte Responsabilidad de escritura en el manual del servidor MongoDB. |
:local_threshold | Ventana de latencia, en segundos, para la elegibilidad de un miembro del conjunto de réplicas. Si el ping de ida y vuelta de un miembro 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. |
Pools de conexiones
Opción de conexión | Descripción |
|---|---|
:max_pool_size | Número máximo de conexiones simultáneas que mantiene el pool. Si el número de conexiones en uso a un servidor alcanza el valor especificado, la siguiente solicitud a ese servidor espera hasta que haya una conexión disponible. Al establecer esta opción en, se |
conexiones máximas | Número máximo de conexiones que cada grupo puede establecer simultáneamente. |
min_pool_size | Número mínimo de conexiones simultáneas que mantiene el pool. |
:max_idle_time | Número máximo de segundos que una conexión puede permanecer inactiva en el pool. |
Para obtener más información sobre los pool de conexiones, consulta la guía de pool de conexiones.
Documentación de la API
Para obtener más información sobre las opciones de Mongo::Client para el driver de Ruby, consulta la documentación de la API de Mongo::Client.