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 URI de conexão

Esta seção descreve as opções de conexão e autenticação do MongoDB que você pode passar como parâmetros do URI de conexão no driver Java Reactive Streams.

Se você passar um URI de conexão para o construtor MongoClient, 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:

public class MongoConnection {
public static void main(String[] args) {
String uri = "mongodb://<hostname>:<port>/?connectTimeoutMS=60000&tls=true";
try (MongoClient client = MongoClients.create(uri)) {
// Use client here
}
}
}

As seções a seguir descrevem as opções de conexão disponíveis no driver Java Reactive Streams. Você pode passar essas opções como parâmetros do URI de conexão para especificar o comportamento do cliente.

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

authMechanism

Define o mecanismo que o driver Java Reactive Streams usa para autenticar o
aplicativo. As opções válidas são definidas na documentação da API ConnectionString da classe.

Tipo de dados: String
Padrão: "SCRAM-SHA-256" ao conectar-se ao MongoDB v4.0 ou posterior.
"SCRAM-SHA-1" ao conectar-se ao MongoDB v3.0 até v3.13.
Exemplo de URI de conexão: authMechanism=MONGODB-X509

authMechanismProperties

Define opções específicas para o mecanismo de autenticação.

Tipo de dados: String
Padrão: ""
Exemplo de URI de conexão: authMechanismProperties=AWS_SESSION_TOKEN:12435

authSource

Define a origem das credenciais de autenticação. A origem é normalmente um
banco de dados. Esta opção só é respeitada quando authMechanism é definido
como MONGO-CR.

Tipo de dados: String
Padrão: O banco de dados no URI de conexão, ou "admin" se nenhum for fornecido
Exemplo de URI de conexão: authSource=admin

nome de usuário

Define o nome de usuário para autenticação. Quando esta opção é incluída em uma URI de conexão
você deve percent-escape-la.

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

Senha

Define a senha para autenticação. Quando esta opção é incluída em uma URI de conexão
você deve percent-escape-la.

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

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

connectTimeoutMS

Define o número de milissegundos que a conexão pode levar antes de atingir o tempo limite. Se uma
operação não terminar no tempo especificado, o driver Java Reactive Streams gerará uma exceção de tempo limite.

Tipo de dados: Integer
Padrão: null
Exemplo de URI de conexão: connectTimeoutMS=6000

maxIdleTimeMS

Define o número máximo de milissegundos que uma conexão pode
permanecer inativa no pool antes de ser removida e fechada. Defina esse valor
como maior que o período ocioso esperado do seu aplicativo, mas menor que o tempo limite de conexão do firewall
ou do proxy para evitar desconexões inesperadas.

Tipo de dados: Integer
Padrão: null
Exemplo de URI de conexão: maxIdleTimeMS=6000

maxLifeTimeMS

Define o tempo de vida máximo em milissegundos de uma conexão agrupada. Se uma
operação não terminar no tempo especificado, o driver Java Reactive Streams
fechará a conexão.

Tipo de dados: Integer
Padrão: null
Exemplo de URI de conexão: maxLifeTimeMS=6000

socketTimeoutMS (obsoleto)

Esta opção está obsoleta. Você pode configurar esse tempo limite
definindo o tempo limite no nível do cliente
em vez disso.

Milissegundos que um recebimento em um soquete pode levar
antes de expirar. Se uma operação não for concluída no
tempo especificado, o driver Java Reactive Streams gera uma exceção de tempo limite.

Tipo de dados: Integer
Padrão: null
Exemplo de URI de conexão: socketTimeoutMS=6000

ssl

Define se a conexão deve ser feita usando TLS/SSL.

Tipo de dados: boolean
Padrão: null
Exemplo de URI de conexão: ssl=true

sslInvalidHostNameAllowed

Permite nomes de host inválidos para conexões TLS/SSL.

Tipo de dados: boolean
Padrão: null
Exemplo de URI de conexão: sslInvalidHostNameAllowed=true

tls

Define se deve conectar usando TLS. Substitui a opção ssl.

Tipo de dados: boolean
Padrão: null
Exemplo de URI de conexão: tls=true

tlsAllowInvalidHostnames

Permite nomes de host inválidos para conexões TLS. Substitui a opção
sslInvalidHostNameAllowed.

Tipo de dados: boolean
Padrão: null
Exemplo de URI de conexão: tlsAllowInvalidHostnames=true

tlsInsecure

Habilita conexões TLS inseguras ao conectar usando TLS.

Tipo de dados: boolean
Padrão: null
Exemplo de URI de conexão: tlsInsecure=true

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

maxConnecting

Define o número máximo de conexões que um pool pode estabelecer simultaneamente.

Tipo de dados: Integer
Padrão: null
Exemplo de URI de conexão: maxConnecting=5

maxPoolSize

Define o número máximo de conexões no pool de conexões. Se uma operação precisar de uma nova conexão enquanto o pool de conexões tiver maxPoolSize conexões abertas, a nova operação aguardará a abertura de uma nova conexão. Para limitar esse tempo de espera, use a configuração de tempo limite único. Para saber mais, consulte o guia Limitar o tempo de execução do servidor.

Tipo de dados: Integer
Padrão: null
Exemplo de URI de conexão: maxPoolSize=5

minPoolSize

Define o número mínimo de conexões no pool de conexões.

Tipo de dados: Integer
Padrão: null
Exemplo de URI de conexão: minPoolSize=3

waitQueueTimeoutMS (obsoleto)

Esta opção está obsoleta. Você pode configurar esse tempo limite
definindo o tempo limite no nível do cliente
em vez disso.

Tempo máximo para aguardar em milissegundos antes que
uma conexão em uso se torne disponível ou uma conexão seja criada e
comece a ser estabelecida.

Tipo de dados: Integer
Padrão: null
Exemplo de URI de conexão: waitQueueTimeoutMS=6000

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

compressors

Define os tipos de compactação preferidos, em ordem, para mensagens de wire protocol enviadas para
ou recebidas do servidor. Os tipos de compactação devem ser passados como uma
lista separada por vírgulas. O driver usa o primeiro desses tipos de compactação
que o servidor suporta.

Tipo de dados: String
Padrão: null
Exemplo de URI de conexão: compressors=snappy,zstd,zlib

zlibCompressionLevel

Define o nível de compactação para uso do zlib. Esta opção aceita
um valor inteiro entre -1 e 9:

- -1: (Padrão). zlib usa seu nível de compactação padrão (geralmente 6).
- 0: Sem compactação.
- 1: Velocidade mais rápida, mas menor compactação.
- 9: Melhor compactação, mas velocidade mais lenta.

Tipo de dados: Integer
Padrão: -1
Exemplo de URI de conexão: zLibCompressionLevel=3

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

directConnection

Define se o driver se conecta diretamente ao host.

Tipo de dados: boolean
Padrão: null
Exemplo de URI de conexão: directConnection=true

loadBalanced

Define se o driver está se conectando ao MongoDB usando um
balanceador de carga ou não. trueSe, o driver assume que está se conectando por meio de um
balanceador de carga.

Tipo de dados: boolean
Padrão: null
Exemplo de URI de conexão: directConnection=true

retryWrites

Define se o driver repete ou não as operações de gravação com suporte se
elas falharem devido a um erro de rede.

Tipo de dados: boolean
Padrão: True
Exemplo de URI de conexão: retryWrites=true

retryReads

Define se o driver repete ou não as operações de leitura com suporte se
elas falharem devido a um erro de rede.

Tipo de dados: boolean
Padrão: True
Exemplo de URI de conexão: retryReads=true

uuidRepresentação

Define o mecanismo que o driver Java Reactive Streams usa para codificar instâncias de
UUID. Consulte a documentação da API Representação de Uuid para obter uma lista de todas as
opções válidas.

Tipo de dados: String
Padrão: unspecified
Exemplo de URI de conexão: uuidRepresentation=unspecified

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

proxyHost

Estabelece o host proxy SOCKS5 para estabelecer uma conexão.
O valor do proxyHost pode ser um endereço IPv4 válido, IPv6
endereço ou um nome de domínio.
Obrigatório se proxyPassword, proxyUsername ou proxyPort forem especificados.

Tipo de dados: String
Padrão: null
Exemplo de URI de conexão: proxyHost=example.com

proxyPort

Define o número da porta para o servidor proxy SOCKS5. Deve ser um número inteiro não negativo.

Tipo de dados: Integer
Padrão: null
Exemplo de URI de conexão: proxyPort=27

proxyUsername

Define o nome de usuário para autenticação com o servidor proxy. Obrigatório se proxyPassword for especificado.

Tipo de dados: String
Padrão: null
Exemplo de URI de conexão: proxyUsername=example

proxyPassword

Define a senha para autenticação com o servidor proxy. Obrigatório se
proxyPassword for especificado.

Tipo de dados: String
Padrão: null
Exemplo de URI de conexão: proxyPassword=password

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

readPreference

Define a preferência de leitura para esta conexão. Os valores enumerados são:
primary, primaryPreferred, secondary, secondaryPreferred e nearest.

Tipo de dados: Enum
Padrão: primary
Exemplo de URI de conexão: readPreference.primary

readPreferenceTags

Especifica um conjunto de tags como uma lista separada por vírgulas de
pares de valores-chave separados por dois pontos, por exemplo, dc:ny,rack:1.
Os espaços são removidos do início e do fim de todas as chaves e valores. Para
especificar uma lista de conjuntos de tags, use vários readPreferenceTags, separados
por ponto e vírgula. Para saber mais sobre readPreferenceTags, consulte a documentação da API ConnectionString da classe.

Tipo de dados: String
Padrão: null
Exemplo de URI de conexão: readPreferenceTags=dc:ny

maxStalenessSeconds

Define a máxima obsolescência em segundos. Para saber mais sobre a desatualização,
consulte a documentação da API Classe ConnectionString.

Tipo de dados: Integer
Padrão: null
Exemplo de URI de conexão: maxStalenessSeconds=60

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

replicaSet

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

Tipo de dados: String
Padrão: null
Exemplo de URI de conexão: replicaSet=replicaSet

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

appName

Define o nome lógico do aplicativo.
O nome do aplicativo pode ser usado pelo cliente para identificar o
aplicativo para o servidor,
para uso em logs do servidor, logs de query lentas e coleta de perfil.

Tipo de dados: String
Padrão: null
Exemplo de URI de conexão: appName=name

heartbeatFrequencyMS

A frequência em milissegundos do driver determinando o estado atual de cada servidor no cluster.

Tipo de dados: Integer
Padrão: null
Exemplo de URI de conexão: heartbeatFrequencyMS=6000

localThresholdMS

Define um limite de tempo de ping para escolher entre vários servidores MongoDB
para enviar uma solicitação. Quando esse valor é definido, o driver só envia
essa solicitação para um servidor cujo
tempo de ping é menor ou igual ao servidor com o tempo de ping mais rápido mais o limite local.

Tipo de dados: Integer
Padrão: null
Exemplo de URI de conexão: localThresholdMS=6000

serverMonitoringMode

Define o modo de monitoramento do servidor, que define o protocolo de monitoramento a ser usado. Os valores enumerados são: stream, poll e auto.

Tipo de dados: Enum
Padrão: auto
Exemplo de URI de conexão: serverMonitoringMode.auto

serverSelectionTimeoutMS

Define por quanto tempo o driver aguardará o sucesso da seleção do servidor antes de lançar uma exceção.

Tipo de dados: Integer
Padrão: null
Exemplo de URI de conexão: serverSelectionTimeoutMS=6000

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

srvServiceName

Define o nome do serviço SRV. Consulte
a ClusterSettings.getSrvServiceName()
documentação da API para saber mais.

Tipo de dados: String
Padrão: "mongodb"
Exemplo de URI de conexão: srvServiceName=mongodb

srvMaxHosts

Define o número máximo de hosts do registro SRV para conectar.

Tipo de dados: Integer
Padrão: null
Exemplo de URI de conexão: srvMaxHosts=5

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

seguro

Define se o driver garante que todas as gravações sejam reconhecidas pelo
servidor MongoDB, ou então lança uma exceção. Se false, o driver
não garante que todas as gravações sejam reconhecidas pelo servidor MongoDB.

Tipo de dados: boolean
Padrão: null
Exemplo de URI de conexão: safe=true

journal

Define se o driver aguarda o servidor agrupar o commit no
arquivo de diário no disco.

Tipo de dados: boolean
Padrão: null
Exemplo de URI de conexão: journal=true

w

Se definido, o driver adiciona { w : wValue } a todos os comandos de gravação. Se definido,
implica que safe=True.

Tipo de dados: Integer ou String
Padrão: null
Exemplo de URI de conexão: w=60

WTimeoutMS (obsoleto)

Esta opção está obsoleta. Você pode configurar esse tempo limite
definindo o tempo limite no nível do cliente
em vez disso.

Se definido, o driver adiciona { wtimeout : ms } a todos os comandos de gravação. Se
definido, implica safe=true. Esta opção é usada em combinação com w.

Tipo de dados: Integer
Padrão: null
Exemplo de URI de conexão: wtimeoutMS=6000

Para obter mais informações sobre as opções de conexão nesta seção, consulte o guia Bancos de Dados e Coleções .