Docs Menu
Docs Home
/ /

Especifica opciones de conexión

Esta sección describe la conexión de MongoDB y las opciones de autenticación disponibles en el controlador Ruby. Puede configurar su conexión mediante el URI de conexión (también llamado cadena de conexión) o pasando argumentos a la Mongo::Client constructor.

Si pasa una URI de conexión al constructor Mongo::Client, puede incluir opciones de conexión en la cadena como pares <name>=<value>. En el siguiente ejemplo, la URI de 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 la URI de conexión. Al configurar la conexión de esta manera, le resultará más fácil cambiar la configuración 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 las 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

A list of potential compressors to use, in order of preference. The driver chooses the first compressor that is also supported by the server. Currently the driver only supports zstd, snappy, and zlib.

Data Type: Array<String>
Default: none
Client Example: compressors: ['snappy', 'zstd', 'zlib']
Connection URI Example: compressors=snappy,zstd,zlib

:nivel de compresión zlib

The Zlib compression level to use, if using compression. This option accepts an integer value between -1 and 9:

- -1: zlib uses its default compression level (usually 6).
- 0: No compression.
- 1: Fastest speed but lowest compression.
- 9: Best compression but slowest speed.


Data Type: Integer
Default: None
Client Example: zlib_compression_level: 3
Connection URI Example: zlibCompressionLevel=3
Opción de conexión
Descripción

:tiempo de espera de conexión

The number of seconds to wait to establish a socket connection before raising an exception. This timeout is also used for SRV DNS record resolution.

nil and 0 mean no timeout. Client creation will fail with an error if an invalid timeout value is passed (such as a negative value or a non-numeric value).

Data Type: Float
Default: 10.0
Client Example: connect_timeout: 10.0
Connection URI Example: connectTimeoutMS=10000

:tiempo de espera_ms

The number of milliseconds to wait for an operation to execute before raising an exception.

0 means no timeout. Client creation will fail with an error if an invalid timeout value is passed (such as a negative value or a non-numeric value).

Data Type: Integer
Default: none
Client Example: timeout_ms: 5000
Connection URI Example: timeoutMS=5000
Opción de conexión
Descripción

:balanceo de carga

Whether to expect to connect to a load balancer.

Data Type: Boolean
Default: false
Client Example: load_balanced: { true }
Connection URI Example: N/A

:server_selection_timeout

The maximum amount of time, in seconds, the driver waits for server selection to succeed before throwing an exception.

Data Type: Integer
Default: 30
Client Example: server_selection_timeout: 30
Connection URI Example: serverSelectionTimeoutMS=30000

Para obtener más información sobre la selección del servidor, consulte la Guíade selección de servidores.

Opción de conexión
Descripción

:mecánica de autenticación

The mechanism that the Ruby driver uses to authenticate the application.

Data Type: Symbol
Default: :scram256
nil if user credentials are not supplied.
Client Example: auth_mech: :scram256
Connection URI Example: authMechanism=SCRAM-SHA-256

:propiedades_mecánicas_de_autenticación

Options specific to the authentication mechanism. This option isn't needed for all authentication mechanisms.

Data Type: Hash
Default: When you use the GSSAPI authentication mechanism,
the default properties are {service_name: "mongodb"}.
Otherwise, the default is nil.
Client Example: auth_mech_properties: {aws_session_token: '12345'}
Connection URI Example: authMechanismProperties=AWS_SESSION_TOKEN:12345

:fuente_de_autorización

The database to authenticate against.

Data Type: String
Default: admin, if credentials are supplied
Client Example: auth_source: admin
Connection URI Example: authSource=admin

:usuario

The username for authentication. When this option is included in a connection URI, you must percent-encode it.

Data Type: String
Default: none
Client Example: user: my+user
Connection URI Example: username=my+user

:contraseña

The password for authentication. When this option is included in a connection URI, you must percent-encode it.

Data Type: String
Default: none
Client Example: password: strong+password
Connection URI Example: password=strong+password
Opción de conexión
Descripción

:conjunto de réplicas

Specifies the name of the replica set to connect to.

Data Type: String
Default: none
Client Example: replica_set: 'myRS'
Connection URI Example: replicaSet=myRS

:conexión directa

Whether to connect directly to the specified host

Data Type: Boolean
Default: false
Client Example: direct_connection: true
Connection URI Example: directConnection=true

:leer

The read preference options. For more information, see Read Preference in the MongoDB Server manual.

Data Type: Hash
Default: { mode: :primary }
Client Example: read: { mode: :primary }
Connection URI Example: readPreference=primary

:read_concern

Specifies the read concern options. For more information, see Read Concern in the MongoDB Server manual.

Data Type: Hash
Default: none
Client Example: read: { level: :majority }
Connection URI Example: readConcern=majority

:escribir_preocupación

Specifies the client's write concern. For more information, see Write Concern in the MongoDB Server manual.

Data Type: Hash
Default: write_concern: { w: 1 }
Client Example: write_concern: { w: 2 }
Connection URI Example: w=2

:umbral_local

The latency window, in seconds, for a replica-set member's eligibility. If a member's round trip ping takes longer than the fastest server's round-trip ping time plus this value, the server isn't eligible for selection.

Data Type: Float
Default: 0.015
Client Example: local_threshold: 0.020
Connection URI Example: localThresholdMS=20
Opción de conexión
Descripción

:tamaño máximo de la piscina

The maximum number of concurrent connections that the pool maintains. If the number of in-use connections to a server reaches the specified value, the next request to that server waits until a connection becomes available. Setting this option to 0 creates an unlimited connection pool.

Data Type: Integer
Default: 100
Client Example: max_pool_size: 100
Connection URI Example: maxPoolSize=100

:max_conectando

The maximum number of connections that each pool can establish concurrently.

Data Type: Integer
Default: 2
Client Example: max_connecting: 2
Connection URI Example: maxConnecting=2

:tamaño mínimo de la piscina

The minimum number of concurrent connections that the pool maintains.

Data Type: Integer
Default: 0
Client Example: min_pool_size: 1
Connection URI Example: minPoolSize=1

:max_idle_time

The maximum number of seconds that a connection can remain idle in the pool.

Data Type: Integer
Default: 0 (no limit)
Client Example: max_idle_time: 10
Connection URI Example: maxIdleTimeMS=10000

Para obtener más información sobre los grupos de conexiones, consulte la guía Administrar conexiones con grupos de conexiones.

Para obtener más información sobre Mongo::Client las opciones para el controlador Ruby, consulte la documentación de API para Mongo::Client.

Volver

Elija un destino de conexión

En esta página