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 de Rust. Puede configurar su conexión utilizando el URI de conexión (también llamado cadena de conexión) o estableciendo campos en una instancia de ClientOptions cuando cree un Client.

Si pasas un URI de conexión al Client::with_uri_str método, puedes incluir opciones de conexión en la string como pares <name>=<value>. El siguiente ejemplo muestra un 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?;

Puede configurar las opciones de conexión en una instancia de ClientOptions en lugar de incluirlas en tu URI de conexión. Cuando configuras tu conexión usando una instancia de ClientOptions, es 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 utilizar 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 Rust. Para ver una lista completa de las opciones de conexión, visite la sección Opciones de Cadena de Conexión de la guía 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

Especifica los compresores que la instancia Client utiliza en el orden especificado.
Para obtener más información sobre la compresión de red, consulte la guía Compresión de red.

zlibCompressionLevel

Número entero entre 0 y 9

6

Especifica el campo de nivel de la compresión zlib si utiliza ese compresor. Un valor de nivel más alto da como resultado una mayor compresión, que es más lenta.
Establecer un valor de 0 especifica que no hay compresión y establecer un valor de 9 especifica la compresión máxima.
Para obtener más información sobre la compresión de red, consulte la guía Compresión de red.

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

Especifica el retraso máximo, en segundos, detrás del nodo primario que un nodo secundario se puede considerar para la operación dada.
El valor de esta opción debe ser al menos 90, o la operación generará un error. Un valor de -1 significa que no hay un retraso máximo.

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 qué mecanismo de autenticación utilizar. Si no especifica esta opción, el driver utilizará el mecanismo de autenticación por defecto. Para obtener más información sobre la autenticación en el driver Rust, consulta 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

Especifica la base de datos utilizada para autenticar.
Esta opción por defecto es admin para los mecanismos de autenticación basados en SCRAM, $external para el mecanismo MONGODB-X509 y el nombre de la base de datos o $external para el mecanismo PLAIN.

tls

Booleano

false

Especifica la configuración de TLS que la instancia Client debe usar en sus conexiones con el servidor.
Por defecto, TLS está desactivado.

tlsPermitirCertificadosInválidos

Booleano

false

Especifica si la instancia de Client devuelve un error si el servidor presenta un certificado no válido.
Recomendamos que establezca esta opción en true solo en entornos de prueba para evitar la creación de vulnerabilidades en su aplicación.

tlsCAFile

String

Ver descripción

Especifica la ruta al archivo de la autoridad de certificación (CA) que la instancia Client utiliza para TLS.
Si no especifica esta opción, el driver utiliza los certificados raíz de Mozilla de la caja webpki-roots.

tlsCertificateKeyFile

String

Ninguno

Especifica la ruta al archivo de certificado que la instancia Client presenta al servidor para verificar su identidad.
Si no establece esta opción, la instancia Client no intenta verificar su identidad en el servidor.

tlsCertificateKeyFilePassword

String

Ninguno

Especifica la contraseña para descifrar la llave privada en tu archivo de certificado, en caso de que la clave esté cifrada.

tlsInsecure

Booleano

false

Especifica si la instancia de Client devuelve un error si el servidor presenta un certificado no válido.
Recomendamos que establezca esta opción en true solo en entornos de prueba para evitar la creación de vulnerabilidades en su aplicación.

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.

enableOverloadRetargeting

Booleano

false

Especifica si el controlador da menos prioridad a un servidor que devuelve un error de sobrecarga, reduciendo la probabilidad de reintentos en el mismo servidor sobrecargado.

journal

Booleano

false

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

localThresholdMS

Non-negative integer

15

Especifica la cantidad de tiempo en milisegundos que el tiempo promedio de ida y vuelta entre el driver y el servidor puede durar en comparación con el tiempo de ida y vuelta más corto de todos los servidores adecuados.
Un valor de 0 indica que no hay ventana de latencia, por lo que solo el servidor con el tiempo promedio de ida y vuelta más bajo es elegible.

maxAdaptiveRetries

Non-negative integer

2

Especifica el número máximo de reintentos que se debe realizar cuando el controlador se enfrenta a errores de sobrecarga.

readConcernLevel

String

Ninguno

Especifica el nivel de consistencia de lectura por defecto para las operaciones realizadas en la instancia Client.
Para obtener más información, consulte Nivel de consistencia de lectura en el manual del servidor.

readPreference

String

primary

Especifica cómo el driver enruta una operación de lectura a los nodos de un set de réplicas.
Para obtener más información, consulte Preferencia de lectura en el manual del servidor.

readPreferenceTags

Una lista de pares de clave-valor separados por comas

Ninguno

Especifica qué nodos del set de réplicas se consideran para las operaciones. Cada instancia de esta clave es un conjunto de etiquetas independiente.
El driver comprueba cada conjunto de etiquetas hasta que encuentra uno o más servidores con cada etiqueta del conjunto.

replicaSet

String

Ninguno

Especifica el nombre del set 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 no negativo o string

Ninguno

Solicita confirmación de que la operación se ha propagado a un número o variedad específicos de servidores.
Para obtener más información, consulte Nivel de confirmación de escritura (write concern) en el manual del servidor.

wTimeoutMS

Non-negative integer

Sin límite de tiempo

Especifica un límite de tiempo, en milisegundos, para el nivel de confirmación de escritura (write concern).
Si una operación no se ha propagado al nivel solicitado dentro del límite de tiempo, el driver genera un error.

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

maxIdleTimeMS

Non-negative integer

0

Especifica la cantidad de tiempo en milisegundos que una conexión puede permanecer inactiva en un pool de conexiones antes de que el servidor la cierre.
Un valor de 0 indica que el cliente no cierra las conexiones inactivas.

maxPoolSize

Non-negative integer

10

Especifica el número máximo de conexiones que la instancia Client puede crear en un pool de conexiones para un servidor determinado.
Si intenta una operación mientras se extraen el valor de maxPoolSize conexiones, la operación espera hasta que finalice una operación en curso y la conexión regrese al pool.

minPoolSize

Non-negative integer

0

Especifica el número mínimo de conexiones disponibles en el pool de conexiones de un servidor en un momento dado.
Si hay menos de minPoolSize conexiones en el pool, el servidor añade conexiones en segundo plano hasta el valor de minPoolSize.

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

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

appName

String

Ninguno

Especifica el nombre de la aplicación que la instancia Client envía al servidor como parte del protocolo de enlace.
Especificar un appName puede ayudarle a usar los registros del servidor para determinar qué instancia Client está conectada al servidor.

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