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 | Una lista de posibles compresores a utilizar, en orden de preferencia. El driver elige el primer compresor que también es compatible con el servidor. Actualmente, el driver solo admite |
zlib_compression_level | El nivel de compresión de zlib que se debe usar, 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 | El 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 SRV DNS. |
:timeout_ms | El número de milisegundos a 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 | Si se espera conectar a un balanceador de carga. |
:server_monitoring_mode | El protocolo de supervisión del servidor que se utilizará. Cuando esta opción se establece en Tipo de dato: |
:server_selection_timeout | La cantidad máxima de tiempo, en segundos, que el driver espera para que la selección del servidor tenga éxito antes de lanzar 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 | El mecanismo que utiliza el driver de 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 | La base de datos contra la que se va a autenticar. |
Usuario/a | El nombre de usuario para la autenticación. Cuando esta opción se incluye en un URI de conexión, debes codificarlo en porcentaje. |
:contraseña | La contraseña para la autenticación. Cuando esta opción se incluye en un URI de conexión, debes codificarlo en porcentaje. |
Operaciones de Lectura y Escritura
Opción de conexión | Descripción |
|---|---|
Conjunto de réplicas | Especifica el nombre del set de réplicas al que conectarse. |
conexión_directa | Si se conecta directamente al host especificado |
:enable_overload_retargeting | Si el driver desprioriza un servidor que devuelve un error de sobrecarga, lo que reduce la probabilidad de reintentar en el mismo servidor sobrecargado. |
max_intentos_adaptativos | El número máximo de reintentos que se deben realizar cuando el driver encuentra errores de sobrecarga. |
:leer | Las opciones de preferencia de lectura. Para obtener más información, consulte Preferencia de lectura en el manual de MongoDB Server. |
:read_concern | Especifica las opciones de nivel de consistencia de lectura. Para obtener más información, consulta Nivel de consistencia de lectura en el manual de MongoDB Server. |
conformidad_de_lectura | 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 de MongoDB Server. |
:local_threshold | La ventana de latencia, en segundos, 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. |
Pools de conexiones
Opción de conexión | Descripción |
|---|---|
:max_pool_size | El número máximo de conexiones simultáneas que mantiene el grupo. Si el número de conexiones en uso a un servidor alcanza el valor especificado, la siguiente solicitud a ese servidor espera hasta que una conexión esté disponible. Establecer esta opción en |
conexiones máximas | El número máximo de conexiones que cada pool puede establecer simultáneamente. |
min_pool_size | El número mínimo de conexiones simultáneas que mantiene el grupo. |
:max_idle_time | El 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.