Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Especifica opciones de conexión

Esta sección describe las opciones de conexión y autenticación de MongoDB disponibles en el controlador Rust. Puede configurar su conexión utilizando la URI de conexión (también llamada cadena de conexión) o configurando campos en una ClientOptions instancia cuando creas un Client.

Si pasas una URI de conexión al método Client::with_uri_str, puedes incluir opciones de conexión en la cadena como pares <name>=<value>. El siguiente ejemplo muestra una URI de conexión que contiene la opción connectTimeoutMS con un valor de 60000 y la opción tls con un valor de true:

use mongodb::Client;
let uri = "mongodb://<hostname>:<port>/?connectTimeoutMS=60000&tls=true";
let client = Client::with_uri_str(uri).await?;

Puedes configurar las opciones de conexión en una instancia ClientOptions en lugar de incluirlas en tu URI de conexión. Al configurar la conexión mediante una instancia ClientOptions, te resultará más fácil modificar la configuración en tiempo de ejecución y detectar errores durante la compilación. El siguiente ejemplo muestra cómo usar ClientOptions para configurar las opciones de conexión:

use std::time::Duration;
use mongodb::{Client, options::ClientOptions};
let uri = "mongodb://<hostname>:<port>/";
let mut client_options = ClientOptions::parse(uri).await?;
client_options.connect_timeout = Some(Duration::from_secs(60000));
//Set additional options on client_options here
let client = Client::with_options(client_options)?;

Las siguientes secciones describen las opciones de conexión disponibles en el controlador de Rust. Para ver la lista completa de opciones de conexión, consulte la sección Opciones de cadena de conexión en la guía del manual del servidor sobre cadenas de conexión.

Nombre de la opción
Valores permitidos
Valor por defecto
Descripción

compresores

Una lista de cadenas separadas por comas

Ninguno

Specifies compressors that the Client instance uses in the specified order.
To learn more about network compression, see the Network Compression guide.

zlibCompressionLevel

Número entero entre 0 y 9

6

Specifies the level field of the zlib compression if you use that compressor. A higher level value results in more compression, which is slower.
Setting a value of 0 specifies no compression, and setting a value of 9 specifies maximum compression.
To learn more about network compression, see the Network Compression guide.
Nombre de la opción
Valores permitidos
Valor por defecto
Descripción

connectTimeoutMS

Non-negative integer

10000 (10 segundos)

Especifica el tiempo de espera de conexión, en milisegundos, que se pasa a cada flujo TCP subyacente al intentar conectarse al servidor.

Nombre de la opción
Valores permitidos
Valor por defecto
Descripción

heartbeatFrequencyMS

entero mayor o igual a 500

10000 (10 segundos)

Especifica la cantidad de tiempo en milisegundos que cada hilo de supervisión espera entre ejecuciones de pruebas al servidor.

maxStalenessSeconds

-1o cualquier número entero mayor o igual a 90

-1

Specifies the maximum lag, in seconds, behind the primary node that a secondary node can be considered for the given operation.
The value of this option must be at least 90, or the operation raises an error. A value of -1 means there is no maximum lag.

serverSelectionTimeoutMS

Non-negative integer

30000 (30 segundos)

Especifica la cantidad de tiempo en milisegundos que la instancia Client espera al intentar seleccionar un servidor para una operación antes de que se agote el tiempo.

Nombre de la opción
Valores permitidos
Valor por defecto
Descripción

mecanismo de autenticación

String

Ninguno

Especifica el mecanismo de autenticación que se utilizará. Si no se especifica esta opción, el controlador utiliza el mecanismo de autenticación predeterminado. Para obtener más información sobre la autenticación en el controlador de Rust, consulte la guía sobre mecanismos de autenticación.

authMechanismProperties

String

Ninguno

Especifica más propiedades para el mecanismo de autenticación establecido en la opción authMechanism.

authSource

String

Ver descripción

Specifies the database used to authenticate.
This option defaults to admin for SCRAM-based authentication mechanisms, $external for the MONGODB-X509 mechanism, and the database name or $external for the PLAIN mechanism.

tls

Booleano

false

Specifies the TLS configuration for the Client instance to use in its connections with the server.
By default, TLS is off.

tlsPermitirCertificadosInválidos

Booleano

false

Specifies whether the Client instance returns an error if the server presents an invalid certificate.
We recommend that you set this option to true only in testing environments to avoid creating vulnerabilities in your application.

tlsCAFile

String

Ver descripción

Specifies the path to the certificate authority (CA) file that the Client instance uses for TLS.
If you do not specify this option, the driver uses the Mozilla root certificates from the webpki-roots crate.

tlsCertificateKeyFile

String

Ninguno

Specifies the path to the certificate file that the Client instance presents to the server to verify its identify.
If you do not set this option, the Client instance does not attempt to verify its identity to the server.

tlsCertificateKeyFilePassword

String

Ninguno

Especifica la contraseña para descifrar la clave privada en su archivo de certificado, si la clave está cifrada.

tlsInsecure

Booleano

false

Specifies whether the Client instance returns an error if the server presents an invalid certificate.
We recommend that you set this option to true only in testing environments to avoid creating vulnerabilities in your application.
Nombre de la opción
Valores permitidos
Valor por defecto
Descripción

directConnection

Booleano

false

Especifica si la instancia Client se conecta directamente a un solo host en vez de descubrir y conectarse a todos los servidores del clúster.

journal

Booleano

false

Solicita confirmación de que la operación se propagó al registro en disco.

localThresholdMS

Non-negative integer

15

Specifies the amount of time in milliseconds that the average round-trip time between the driver and server can last compared to the shortest round-trip time of all the suitable servers.
A value of 0 indicates that there is no latency window, so only the server with the lowest average round-trip time is eligible.

readConcernLevel

String

Ninguno

Specifies the default read concern for operations performed on the Client instance.
To learn more, see Read Concern in the Server manual.

readPreference

String

primary

Specifies how the driver routes a read operation to members of a replica set.
To learn more, see Read Preference in the Server manual.

readPreferenceTags

Una lista de pares de clave-valor separados por comas

Ninguno

Specifies which replica set members are considered for operations. Each instance of this key is a separate tag set.
The driver checks each tag set until it finds one or more servers with each tag in the set.

replicaSet

String

Ninguno

Especifica el nombre del conjunto de réplicas al que se conecta la instancia Client.

retryReads

Booleano

true

Especifica si el cliente reintenta una operación de lectura si la operación falla.

w

Entero o cadena no negativo

Ninguno

Requests acknowledgment that the operation has propagated to a specific number or variety of servers.
To learn more, see Write Concern in the Server manual.

wTimeoutMS

Non-negative integer

Sin tiempo de espera

Specifies a time limit, in milliseconds, for the write concern.
If an operation has not propagated to the requested level within the time limit, the driver raises an error.
Nombre de la opción
Valores permitidos
Valor por defecto
Descripción

maxIdleTimeMS

Non-negative integer

0

Specifies the amount of time in milliseconds that a connection can remain idle in a connection pool before the server closes it.
A value of 0 indicates that the client does not close idle connections.

maxPoolSize

Non-negative integer

10

Specifies the maximum number of connections that the Client instance can create in a connection pool for a given server.
If you attempt an operation while the value of maxPoolSize connections are checked out, the operation waits until an in-progress operation finishes and the connection returns to the pool.

minPoolSize

Non-negative integer

0

Specifies the minimum number of connections available in a server's connection pool at a given time.
If fewer than minPoolSize connections are in the pool, the server adds connections in the background up to the value of minPoolSize.

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

Nombre de la opción
Valores permitidos
Valor por defecto
Descripción

appName

String

Ninguno

Specifies the application name that the Client instance sends to the server as part of the handshake.
Specifying an appName can help you use the server logs to determine which Client instance is connected to the server.

Para obtener más información sobre ClientOptions para el controlador Rust, consulte la documentación de la API para ClientOptions.

Volver

Elija un destino de conexión

En esta página