Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

Especificar opções de conexão

Esta seção descreve as opções de conexão e autenticação do MongoDB disponíveis no driver Rust. Você pode configurar sua conexão usando o URI de conexão (também chamado de string de conexão) ou definindo campos em uma instância ClientOptions ao criar um Client.

Se você passar um URI de conexão para o método Client::with_uri_str, poderá incluir opções de conexão na string como pares <name>=<value>. O exemplo a seguir mostra um URI de conexão contendo a opção connectTimeoutMS com um valor de 60000 e a opção tls com um valor de true:

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

Você pode definir opções de conexão em uma instância ClientOptions em vez de incluí-las no URI de conexão. Ao configurar sua conexão usando uma instância do ClientOptions, é mais fácil alterar as configurações no tempo de execução e detectar erros durante a compilação. O exemplo seguinte mostra como utilizar o ClientOptions para configurar opções de conexão:

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)?;

As seções a seguir descrevem as opções de conexão disponíveis no driver Rust. Para ver uma lista completa de opções de conexão, visite a seção Opções de string de conexão do guia manual do servidor sobre strings de conexão.

Nome da opção
Valores aceitos
Valor padrão
Descrição

compressors

Uma lista de strings separadas por vírgula

none

Especifica os compressores que a instância Client usa na ordem especificada.
Para saber mais sobre a compactação de rede, consulte o guia Compactação de rede.

zlibCompressionLevel

Inteiro entre 0 e 9

6

Especifica o campo de nível da compactação zlib se você usar esse compressor. Um valor de nível mais alto resulta em mais compactação, que é mais lenta.
Definir um valor de 0 especifica nenhuma compactação e definir um valor de 9 especifica a compactação máxima.
Para saber mais sobre a compactação de rede, consulte o guia Compactação de rede.

Nome da opção
Valores aceitos
Valor padrão
Descrição

connectTimeoutMS

Non-negative integer

10000 (10 segundos)

Especifica o tempo limite de conexão, em milissegundos, passado para cada fluxo TCP subjacente ao tentar se conectar ao servidor.

Nome da opção
Valores aceitos
Valor padrão
Descrição

heartbeatFrequencyMS

inteiro maior ou igual a 500

10000 (10 segundos)

Especifica a quantidade de tempo, em milésimos de segundo, que cada thread de monitoramento aguarda entre as verificações do servidor.

maxStalenessSeconds

-1, ou qualquer número inteiro maior ou igual a 90

-1

Especifica o atraso máximo, em segundos, atrás do nó primário que um nó secundário pode ser considerado para a operação fornecida.
O valor desta opção deve ser pelo menos 90, ou a operação gera um erro. Um valor de -1 significa que não há atraso máximo.

serverSelectionTimeoutMS

Non-negative integer

30000 (30 segundos)

Especifica a quantidade de tempo, em milésimos de segundo, que a instância Client aguarda ao tentar selecionar um servidor para uma operação antes de atingir o tempo limite.

Nome da opção
Valores aceitos
Valor padrão
Descrição

authMechanism

String

none

Especifica qual mecanismo de autenticação usar. Se você não especificar esta opção, o driver usará o mecanismo de autenticação padrão. Para saber mais sobre autenticação no driver Rust, consulte o guia sobre mecanismos de autenticação.

authMechanismProperties

String

none

Especifica mais propriedades para o mecanismo de autenticação definido na opção authMechanism .

authSource

String

Veja a descrição

Especifica o banco de dados usado para autenticar.
Esta opção padroniza para admin para mecanismos de autenticação baseados em SCRAM, $external para o mecanismo MONGODB-X509 e o nome do banco de dados ou $external para o mecanismo PLAIN.

tls

Boolean

false

Especifica a configuração TLS para a instância do Client utilizar em suas conexões com o servidor.
Por padrão, o TLS está desativado.

tlsAllowInvalidCertificates

Boolean

false

Especifica se a instância Client retorna um erro se o servidor apresentar um certificado inválido.
Recomendamos que você defina esta opção como true apenas em ambientes de teste para evitar a criação de vulnerabilidades em seu aplicativo.

tlsCAFile

String

Veja a descrição

Especifica o caminho para o arquivo da autoridade de certificação (CA) que a instância Client usa para TLS.
Se você não especificar esta opção, o driver usará os certificados raiz do Mozilla do crate webpki-roots.

tlsCertificateKeyFile

String

none

Especifica o caminho para o arquivo de certificado que a instância do Client apresenta ao servidor para verificar sua identidade.
Se você não definir esta opção, a instância do Client não tentará verificar sua identidade para o servidor.

tlsCertificateKeyFilePassword

String

none

Especifica a senha para descriptografar a chave privada em seu arquivo de certificado, se a chave estiver criptografada.

tlsInsecure

Boolean

false

Especifica se a instância Client retorna um erro se o servidor apresentar um certificado inválido.
Recomendamos que você defina esta opção como true apenas em ambientes de teste para evitar a criação de vulnerabilidades em seu aplicativo.

Nome da opção
Valores aceitos
Valor padrão
Descrição

directConnection

Boolean

false

Especifica se a instância do Client se conecta diretamente a um único host em vez de descobrir e se conectar a todos os servidores no cluster.

enableOverloadRetargeting

Boolean

false

Especifica se o driver desprioriza um servidor que retorna um erro de sobrecarga, reduzindo a probabilidade de tentar novamente no mesmo servidor sobrecarregado.

journal

Boolean

false

Solicita confirmação de que a operação foi propagada para o diário em disco.

localThresholdMS

Non-negative integer

15

Especifica a quantidade de tempo em milissegundos que o tempo médio de ida e volta entre o driver e o servidor pode durar em comparação com o tempo de ida e volta mais curto de todos os servidores adequados.
Um valor de 0 indica que não há janela de latência, portanto, apenas o servidor com o menor tempo médio de ida e volta é elegível.

maxAdaptiveRetries

Non-negative integer

2

Especifica o número máximo de tentativas a serem tentadas quando o driver encontra erros de sobrecarga.

readConcernLevel

String

none

Especifica o read concern padrão para operações realizadas na instância do Client.
Para saber mais, consulte Read Concern no manual do servidor.

readPreference

String

primary

Especifica como o driver roteia uma operação de leitura para nós de um conjunto de réplicas.
Para saber mais, consulte Preferência de leitura no manual do servidor.

readPreferenceTags

Uma lista de pares de valores-chave separados por vírgula

none

Especifica quais nós do conjunto de réplicas são considerados para operações. Cada instância desta chave é um conjunto de tags separado.
O driver verifica cada conjunto de tags até encontrar um ou mais servidores com cada tag no conjunto.

replicaSet

String

none

Especifica o nome do conjunto de réplicas ao qual a instância Client se conecta.

retryReads

Boolean

true

Especifica se o cliente tenta novamente uma operação de leitura se a operação falhar.

w

inteiro ou string não negativo

none

Solicita confirmação de que a operação se propagou para um número ou variedade específica de servidores.
Para saber mais, consulte write concern no manual do servidor.

wTimeoutMS

Non-negative integer

Sem tempo limite

Especifica um limite de tempo, em milésimos de segundo, para a write concern.
Se uma operação não tiver sido propagada para o nível solicitado dentro do limite de tempo, o driver gerará um erro.

Nome da opção
Valores aceitos
Valor padrão
Descrição

maxIdleTimeMS

Non-negative integer

0

Especifica a quantidade de tempo em milissegundos que uma conexão pode permanecer ociosa em um pool de conexões antes que o servidor a feche.
Um valor de 0 indica que o cliente não fecha conexões ociosas.

maxPoolSize

Non-negative integer

10

Especifica o número máximo de conexões que a instância Client pode criar em um pool de conexões para um determinado servidor.
Se você tentar uma operação enquanto o valor de maxPoolSize conexões estiverem verificadas, a operação aguardará até que uma operação em andamento seja concluída e a conexão retorne ao pool.

minPoolSize

Non-negative integer

0

Especifica o número mínimo de conexões disponíveis em um pool de conexões de um servidor em um determinado momento.
Se houver menos de minPoolSize conexões no pool, o servidor adicionará conexões em segundo plano até o valor de minPoolSize.

Para obter mais informações sobre pools de conexões, consulte o guia pools de conexões.

Nome da opção
Valores aceitos
Valor padrão
Descrição

appName

String

none

Especifica o nome do aplicativo que a instância Client envia ao servidor como parte do handshake.
A especificação de um appName pode ajudá-lo a usar os logs do servidor para determinar qual instância Client está conectada ao servidor.

Para obter mais informações sobre ClientOptions para o driver Rust, consulte a documentação da API para ClientOptions.