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

Especifica opciones de conexión

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.

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)

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)

Las siguientes secciones describen las opciones de conexión disponibles en el controlador Ruby.

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 zstd admite, snappy zliby.

Tipo de datos: Array<String>
Predeterminado: ninguno
Ejemplo de cliente: compressors: ['snappy', 'zstd', 'zlib']
Ejemplo de URI de conexión: compressors=snappy,zstd,zlib

zlib_compression_level

Nivel de compresión de Zlib a utilizar, si se usa compresión. Esta opción acepta un valor entero entre -1 9y:

-:1 Zlib usa su nivel de compresión predeterminado 6 (normalmente).
0-: Sin compresión.
1-: Máxima velocidad, pero menor compresión.
9-: Máxima compresión, pero menor velocidad.

Para más información, consulte la documentación del módulo ZLib de Ruby.

Integer
TipoNone
dedatos: Predeterminado: Ejemplozlib_compression_level: 3
de cliente: Ejemplo de URI de conexión: zlibCompressionLevel=3

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.

nil y 0 significan que no hay tiempo de espera. La creación del cliente fallará con un error si se pasa un valor de tiempo de espera no válido (como un valor negativo o un valor no numérico).

Tipo de datos: Float
Predeterminado: 10.0
Ejemplo de cliente: connect_timeout: 10.0
Ejemplo de URI de conexión: connectTimeoutMS=10000

:timeout_ms

Número de milisegundos que se deben esperar para que se ejecute una operación antes de generar una excepción.

0 significa que no hay tiempo de espera. La creación del cliente fallará con un error si se pasa un valor de tiempo de espera no válido (como un valor negativo o un valor no numérico).

Tipo de datos: Integer

Predeterminado: ningunotimeout_ms: 5000
Ejemplo de cliente: Ejemplo de URI de conexión: timeoutMS=5000

Opción de conexión
Descripción

:balanceo de carga

Indica si se debe esperar la conexión a un balanceador de carga.

Tipo de datos: Boolean
Predeterminado: false
Ejemplo de cliente: load_balanced: { true }
Ejemplo de URI de conexión: N/A

:server_monitoring_mode

Protocolo de monitorización del servidor que se utilizará. Cuando esta opción se establece en :auto, el modo de monitorización viene determinado por el entorno en el que se ejecuta el controlador. El controlador utiliza el modo de sondeo en entornos de función como servicio (FaaS), como AWS Lambda, y el modo de transmisión en otros entornos.

Tipo de datos: Symbol
Predeterminado: :auto
Ejemplo de cliente: server_monitoring_mode: :poll
Ejemplo de URI de conexión: serverMonitoringMode=poll

: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.

Tipo de datos: Integer
Predeterminado: 30
Ejemplo de cliente: server_selection_timeout: 30
Ejemplo de URI de conexión: serverSelectionTimeoutMS=30000

Para obtener más información sobre la selección de servidores, consulte la guía Selección de Servidores.

Opción de conexión
Descripción

auth_mech

Mecanismo que utiliza el controlador Ruby para autenticar la aplicación.

Tipo de datos: Symbol
Valor predeterminado: :scram256
nil si no se proporcionan credenciales de usuario.
Ejemplo de cliente: auth_mech: :scram256
Ejemplo de URI de conexión: authMechanism=SCRAM-SHA-256

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.

Tipo de datos: Hash
Predeterminado: Cuando se utiliza el mecanismo de autenticación GSSAPI,
las propiedades predeterminadas {service_name: "mongodb"} son.
En caso contrario, el valor predeterminado nil es.
Ejemplo de cliente: auth_mech_properties: {aws_session_token: '12345'}
Ejemplo de URI de conexión: authMechanismProperties=AWS_SESSION_TOKEN:12345

origen_de_autenticación

Base de datos para autenticarse.

Tipo deString
datos: admin Predeterminado:, si se proporcionan credenciales
Ejemplo de cliente: auth_source: admin
Ejemplo de URI de conexión: authSource=admin

Usuario/a

Nombre de usuario para la autenticación. Cuando esta opción se incluye en un URI de conexión, debe codificarse con porcentaje.

Tipo de datos: String
Predeterminado: ninguno
Ejemplo de cliente: user: my+user
Ejemplo de URI de conexión: username=my+user

:contraseña

La contraseña para la autenticación. Cuando esta opción se incluye en un URI de conexión, debe codificarse con porcentaje.

Tipo de datos: String
Predeterminado: ninguno
Ejemplo de cliente: password: strong+password
Ejemplo de URI de conexión: password=strong+password

Opción de conexión
Descripción

Conjunto de réplicas

Especifica el nombre del conjunto de réplicas al que conectarse.

Tipo de datos: String
Predeterminado: ninguno
Ejemplo de cliente: replica_set: 'myRS'
Ejemplo de URI de conexión: replicaSet=myRS

conexión_directa

Si se debe conectar directamente al host especificado

Tipo de datos: Boolean
Predeterminado: false
Ejemplo de cliente: direct_connection: true
Ejemplo de URI de conexión: directConnection=true

: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.

Tipo de datos: Boolean
Predeterminado: false
Ejemplo de cliente: enable_overload_retargeting: true
Ejemplo de URI de conexión: enableOverloadRetargeting=true

max_intentos_adaptativos

Número máximo de reintentos que se intentarán cuando el controlador encuentre errores de sobrecarga.

Tipo de datos: Integer
Predeterminado: 2
Ejemplo de cliente: max_adaptive_retries: 3
Ejemplo de URI de conexión: maxAdaptiveRetries=3

:leer

Opciones de preferencia de lectura. Para obtener más información, consulte Preferencia de lectura en el manual del servidor MongoDB.

Tipo de datos: Hash
Predeterminado: { mode: :primary }
Ejemplo de cliente: read: { mode: :primary }
Ejemplo de URI de conexión: readPreference=primary

: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.

Tipo de datos: Hash
Predeterminado: ninguno
Ejemplo de cliente: read: { level: :majority }
Ejemplo de URI de conexión: readConcern=majority

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.

Tipo de datos: Hash
Predeterminado: write_concern: { w: 1 }
Ejemplo de cliente: write_concern: { w: 2 }
Ejemplo de URI de conexión: w=2

: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.

Tipo de datos: Float
Predeterminado: 0.015
Ejemplo de cliente: local_threshold: 0.020
Ejemplo de URI de conexión: localThresholdMS=20

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 0 crea un pool de conexiones ilimitado.

Tipo de datos: Integer
Predeterminado: 100
Ejemplo de cliente: max_pool_size: 100
Ejemplo de URI de conexión: maxPoolSize=100

conexiones máximas

Número máximo de conexiones que cada grupo puede establecer simultáneamente.

Tipo de datos: Integer
Predeterminado: 2
Ejemplo de cliente: max_connecting: 2
Ejemplo de URI de conexión: maxConnecting=2

min_pool_size

Número mínimo de conexiones simultáneas que mantiene el pool.

Tipo de datos: Integer
Predeterminado: 0
Ejemplo de cliente: min_pool_size: 1
Ejemplo de URI de conexión: minPoolSize=1

:max_idle_time

Número máximo de segundos que una conexión puede permanecer inactiva en el pool.

Tipo de datos: Integer
Predeterminado: 0 (sin límite)
Ejemplo de cliente: max_idle_time: 10
Ejemplo de URI de conexión: maxIdleTimeMS=10000

Para obtener más información sobre los pool de conexiones, consulta la guía de pool de conexiones.

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.