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 Ruby. Você pode configurar sua conexão usando o URI de conexão (também chamado de string de conexão) ou passando argumentos para o construtor Mongo::Client.

Se você passar um URI de conexão para o construtor Mongo::Client, poderá incluir opções de conexão na cadeia de caracteres como pares <name>=<value>. No exemplo a seguir, o URI de conexão contém a opção connectTimeoutMS com um valor de 60000 e a opção tls com um valor de true:

uri = "mongodb://<hostname>:<port>/?connectTimeoutMS=60000&tls=true"
client = Mongo::Client.new(uri)

Você pode passar as opções de conexão como argumentos para o construtor Mongo::Client em vez de incluí-las em seu URI de conexão. Ao configurar sua conexão dessa forma, é mais fácil para você alterar as configurações no tempo de execução e detectar erros durante a compilação. O exemplo seguinte mostra como utilizar o construtor Mongo::Client para configurar opções de conexão:

uri = "mongodb://<hostname>:<port>"
client = Mongo::Client.new(uri, connect_timeout: 60000, ssl: true)

As seções a seguir descrevem as opções de conexão disponíveis no driver Ruby.

Opção de conexão
Descrição

:compressors

Uma lista de possíveis compressores a serem usados, em ordem de preferência. O driver escolhe o primeiro compressor que também é suportado pelo servidor. Atualmente, o driver suporta zstd apenas, snappy zlibe.

Tipo de dados: Array<String>

Padrão: nenhumcompressors: ['snappy', 'zstd', 'zlib']
Exemplo de cliente: Exemplo de URI de conexão: compressors=snappy,zstd,zlib

:zlib_compression_level

O nível de compressão Zlib a ser usado, se estiver usando compressão. Esta opção aceita um valor inteiro entre -1 9e:

- -:1 o zlib usa seu nível de compressão padrão 6 (geralmente).
-: sem 0 compressão.
-: velocidade mais 1 rápida, mas menor compactação.
-: a melhor 9 compactação, mas a velocidade mais lenta.

Para obter mais informações, consulte a documentação

domódulo ZLib da Ruby.Integer
TipoNone
de dados: Padrão:Exemplozlib_compression_level: 3
de cliente:Exemplo de URI de conexão:zlibCompressionLevel=3

Opção de conexão
Descrição

:connect_timeout

O número de segundos de espera para estabelecer uma conexão de soquete antes de gerar uma exceção. Esse tempo limite também é usado para a resolução do registro DNS SRV.

nil e 0 média que não há tempo limite. A criação do

cliente falhará com um erro se um valor de tempo limite inválido for passado (como um valor negativo ou um valor não numérico). Float
Tipo10.0
de dados: Padrão:Exemplo de cliente:connect_timeout: 10.0
Exemplo de URI de conexão: connectTimeoutMS=10000

:timeout_ms

O número de milissegundos para aguardar a execução de uma operação antes de gerar uma exceção.

0 significa que não há tempo limite. A criação do cliente falhará com um erro se um valor de tempo limite inválido for passado (como um valor negativo ou um valor não numérico).

Tipo de dados: Integer
Padrão: nenhum
Exemplo de cliente: timeout_ms: 5000
Exemplo de URI de conexão: timeoutMS=5000

Opção de conexão
Descrição

:load_balanced

Se deve esperar conectar-se a um balanceador de carga.

Tipo de dados: Boolean
Padrão: false
Exemplo de cliente: load_balanced: { true }
Exemplo de URI de conexão: N/A

:server_monitoring_mode

O protocolo de monitoramento do servidor a ser usado. Quando essa opção é definida como :auto, o modo de monitoramento é determinado pelo ambiente em que o driver está sendo executado. O driver usa o modo de sondagem em ambientes de função como serviço (FaaS), como o AWS Lambda, e o modo de streaming em outros ambientes.

Tipo de dados: Symbol
Padrão: :auto
Exemplo de cliente: server_monitoring_mode: :poll
Exemplo de URI de conexão: serverMonitoringMode=poll

:server_selection_timeout

A quantidade máxima de tempo, em segundos, o driver aguarda o sucesso da seleção do servidor antes de lançar uma exceção.

Tipo de dados: Integer
Padrão: 30
Exemplo de cliente: server_selection_timeout: 30
Exemplo de URI de conexão: serverSelectionTimeoutMS=30000

Para obter mais informações sobre a seleção de servidor, consulte o guia Seleção de Servidor.

Opção de conexão
Descrição

:auth_mech

O mecanismo que o driver Ruby usa para autenticar o aplicação.

Tipo de Dados: Symbol
Padrão: :scram256
nil se as credenciais de usuário não forem fornecidas.
Exemplo de cliente: auth_mech: :scram256
Exemplo de URI de conexão: authMechanism=SCRAM-SHA-256

:auth_mech_properties

Opções específicas para o mecanismo de autenticação. Esta opção não é necessária para todos os mecanismos de autenticação.

Tipo de Dados: Hash
Padrão: Quando você utiliza o mecanismo de autenticação GSSAPI,
as propriedades padrão {service_name: "mongodb"} são.
Caso contrário, o padrão nil é.
Exemplo de cliente: auth_mech_properties: {aws_session_token: '12345'}
Exemplo de URI de conexão: authMechanismProperties=AWS_SESSION_TOKEN:12345

:auth_source

O banco de dados para autenticar.

Tipo deString
dados: admin Padrão:, se as credenciais forem fornecidas
Exemplo de cliente: auth_source: admin
Exemplo de URI de conexão: authSource=admin

: user

O nome de usuário para autenticação. Quando essa opção é incluída em um URI de conexão, você deve codificá-la por porcentagem.

Tipo de dados: String
Padrão: nenhum
Exemplo de cliente: user: my+user
Exemplo de URI de conexão: username=my+user

:password

A senha para autenticação. Quando essa opção é incluída em um URI de conexão, você deve codificá-la por porcentagem.

Tipo de dados: String
Padrão: nenhum
Exemplo de cliente: password: strong+password
Exemplo de URI de conexão: password=strong+password

Opção de conexão
Descrição

:replica_set

Especifica o nome do conjunto de réplicas ao qual se conectar.

Tipo de dados: String
Padrão: nenhum
Exemplo de cliente: replica_set: 'myRS'
Exemplo de URI de conexão: replicaSet=myRS

:direct_connection

Se deve se conectar diretamente ao host especificado

Tipo de dados: Boolean
Padrão: false
Exemplo de cliente: direct_connection: true
Exemplo de URI de conexão: directConnection=true

:enable_overload_tartargeting

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

Tipo de dados: Boolean
Padrão: false
Exemplo de cliente: enable_overload_retargeting: true
Exemplo de URI de conexão: enableOverloadRetargeting=true

:max_adaptive_retry

O número máximo de tentativas para tentar quando o driver encontra erros de sobrecarga.

Tipo de dados: Integer
Padrão: 2
Exemplo de cliente: max_adaptive_retries: 3
Exemplo de URI de conexão: maxAdaptiveRetries=3

:read

As opções de preferência de leitura . Para obter mais informações, consulte Preferência de leitura no manual do MongoDB Server .

Tipo de dados: Hash
Padrão: { mode: :primary }
Exemplo de cliente: read: { mode: :primary }
Exemplo de URI de conexão: readPreference=primary

:read_concern

Especifica as opções de preocupação de leitura . Para obter mais informações, consulte Read Concern no manual do MongoDB Server .

Tipo de dados: Hash
Padrão: nenhum
Exemplo de cliente: read: { level: :majority }
Exemplo de URI de conexão: readConcern=majority

:write_concern

Especifica a preocupação de gravação do cliente. Para obter mais informações, consulte Write Concern no manual do MongoDB Server .

Tipo de dados: Hash
Padrão: write_concern: { w: 1 }
Exemplo de cliente: write_concern: { w: 2 }
Exemplo de URI de conexão: w=2

:local_threshold

A janela de latência, em segundos, para a elegibilidade de um membro do conjunto de réplicas. Se o ping de ida e volta de um membro demorar mais do que o tempo de ping de ida e volta do servidor mais rápido mais esse valor, o servidor não estará qualificado para seleção.

Tipo Float
0.015
de dados: Padrão:Exemplo de cliente:local_threshold: 0.020
Exemplo de URI de conexão: localThresholdMS=20

Opção de conexão
Descrição

:max_pool_size

O número máximo de conexões simultâneas que o pool mantém. Se o número de conexões em uso com um servidor atingir o valor especificado, a próxima solicitação para esse servidor aguardará até que uma conexão se torne disponível. Definir esta opção como 0 cria um pool de conexões ilimitado.

Tipo de dados: Integer
Padrão: 100
Exemplo de cliente: max_pool_size: 100
Exemplo de URI de conexão: maxPoolSize=100

:max_connecting

O número máximo de conexões que cada pool pode estabelecer simultaneamente.

Tipo de dados: Integer
Padrão: 2
Exemplo de cliente: max_connecting: 2
Exemplo de URI de conexão: maxConnecting=2

:min_pool_size

O número mínimo de conexões simultâneas que o pool mantém.

Tipo de dados: Integer
Padrão: 0
Exemplo de cliente: min_pool_size: 1
Exemplo de URI de conexão: minPoolSize=1

:max_idle_time

O número máximo de segundos que uma conexão pode permanecer inativa no pool.

Tipo de dados: Integer
Padrão: 0 (sem limite)
Exemplo de cliente: max_idle_time: 10
Exemplo de URI de conexão: maxIdleTimeMS=10000

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

Para obter mais informações sobre as opções de Mongo::Client para o driver Ruby, consulte a documentação da API do Mongo::Client.