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 do Kotlin Sync. Você pode configurar sua conexão definindo opções no URI de conexão ou em uma instância MongoClientSettings .

Se você passar um URI de conexão para o método MongoClient.create(), poderá incluir opções de conexão na string 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:

val uri = "mongodb://<hostname>:<port>/?connectTimeoutMS=60000&tls=true"
val mongoClient = MongoClient.create(uri)

Você pode definir opções de conexão em uma instância MongoClientSettings usando métodos da classe MongoClientSettings.Builder e, em seguida, passar o objeto de configurações para o método MongoClient.create() .

Configurar a conexão dessa forma facilita a alteração das configurações no tempo de execução e pode ajudá-lo a detectar erros no tempo de compilação.

O exemplo a seguir mostra como especificar seu destino de conexão e definir outras opções ao criar uma instância do MongoClientSettings :

val settings = MongoClientSettings.builder()
.applyToClusterSettings { builder -> builder.hosts(listOf(ServerAddress("localhost", 27017))) }
.applyToSocketSettings { builder -> builder.connectTimeout(60000, TimeUnit.MILLISECONDS) }
.applyToSslSettings { builder -> builder.enabled(true) }
.build()
val mongoClient = MongoClient.create(settings)

Se preferir fornecer uma string de conexão em vez de especificar o nome do host e a porta, você poderá usar o método applyConnectionString() e, em seguida, definir outras opções usando métodos de construtor, conforme mostrado no código a seguir:

val uri = "<connection string>"
val settings = MongoClientSettings.builder()
.applyConnectionString(ConnectionString(uri))
.applyToSocketSettings { builder -> builder.connectTimeout(60000, TimeUnit.MILLISECONDS) }
.applyToSslSettings { builder -> builder.enabled(true) }
.build()
val mongoClient = MongoClient.create(settings)

As seções a seguir descrevem as opções de conexão disponíveis no driver Kotlin Sync. Cada opção mostra o par opção-valor que você pode usar em um URI de conexão e, se disponível, o método do driver para defini-lo em uma instância MongoClientSettings .

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

compressors

Os tipos de compactação preferidos, em ordem, para mensagens de wire-protocol enviadas ou recebidas do servidor. O driver usa o primeiro desses tipos de compactação que o servidor suporta.

Tipo de dados: string delimitada por vírgulas
MongoClientSettings: compressorList(listOf(<MongoCompressor>))
Connection URI: compressors=snappy,zstd,zlib

zlibCompressionLevel

O nível de compactação zlib a ser usado. Esta opção aceita um valor inteiro entre -1 e 9, correspondendo às seguintes configurações:

- -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: inteiro
Padrão: -1
MongoClientSettings: compressorList(listOf(zlib.withProperty(MongoCompressor.LEVEL, 3)))
URI de conexão: zlibCompressionLevel=3

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

connectTimeoutMS

O tempo em milissegundos para tentar uma conexão antes de atingir o tempo limite.

Tipo de dados: inteiro
Padrão: 10000
MongoClientSettings:

applyToSocketSettings{ builder ->
builder.connectTimeout(10, TimeUnit.SECONDS)
}

URI de conexão: timeoutMs=10000

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 para tentar enviar ou receber em uma conexão
antes que a tentativa expire.

Tipo de dados: inteiro
Padrão: sem tempo limite
MongoClientSettings:

applyToSocketSettings{ builder ->
builder.readTimeout(5, TimeUnit.SECONDS)
}

URI de conexão: socketTimeoutMS=5000

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

serverSelectionTimeoutMS

A quantidade máxima de tempo, em milissegundos, que o driver aguarda para que a seleção do servidor seja bem-sucedida antes de lançar uma exceção.

Tipo de dados: inteiro
Padrão: 30000
MongoClientSettings:

applyToClusterSettings{ builder ->
builder.serverSelectionTimeout(30, TimeUnit.SECONDS)
}

URI de conexão: serverSelectionTimeoutMS=30000

Dica

Para saber mais sobre as opções de autenticação, consulte a seção Mecanismos de autenticação.

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

authMechanism

O mecanismo que o driver de sincronização Kotlin usa para autenticar o aplicativo.

Tipo de dados: string
Padrão: "SCRAM-SHA-256" ao conectar-se ao MongoDB v4.0 ou posterior
MongoClientSettings:

credential(
MongoCredential.createScramSha256Credential(...)
)

URI de conexão: authMechanism=SCRAM-SHA-256

authMechanismProperties

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: string
URI de conexão: authMechanismProperties=AWS_SESSION_TOKEN:12435

authSource

O banco de dados para autenticar.

Tipo de dados: string
Padrão: "admin"
URI de conexão: authSource=admin

nome de usuário

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

Tipo de dados: string
URI de conexão: username=my+user

Senha

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

Tipo de dados: string
URI de conexão: password=strong+password

Para saber mais sobre como se conectar a diferentes tipos de sistemas do MongoDB , consulte o guia Escolher um destino de conexão .

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

replicaSet

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

Tipo de dados: string
URI de conexão: replicaSet=myRS

directConnection

Se deve conectar apenas ao nó primário do conjunto de réplicas.

Tipo de dados: booleano
Padrão: false
MongoClientSettings:

applyToClusterSettings{ builder ->
builder.mode(ClusterConnectionMode.SINGLE)
}

URI de conexão: directConnection=true

readPreference

Especifica a preferência de leitura do cliente. Para obter mais informações, consulte Preferência de leitura no manual do servidor.

Tipo de dados: string
Padrão: primary
MongoClientSettings: readPreference(ReadPreference.primary())
URI de conexão: readPreference=primary

readConcern

Especifica a read concern do cliente. Para obter mais informações, consulte Read Concern no manual do servidor.

Tipo de dados: string
MongoClientSettings: readConcern(ReadConcern.MAJORITY)
URI de conexão: readConcern=majority

writeConcern

Especifica a write concern do cliente. Para obter mais informações, consulte Write Concern no manual do servidor.

Tipo de dados: string
MongoClientSettings: writeConcern(WriteConcern.MAJORITY)
URI de conexão: writeConcern=majority

localThresholdMS

A janela de latência para a elegibilidade de um conjunto de réplicas. Se o ping de ida e volta de um nó 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 de dados: inteiro
Padrão: 15
MongoClientSettings:

applyToClusterSettings{ builder ->
builder.localThreshold(35, TimeUnit.MILLISECONDS)
}

URI de conexão: localThresholdMS=35

Para ver uma lista completa de opções de conexão, consulte Connection strings no manual do servidor.

Para saber mais sobre as aulas e os métodos mencionados neste guia, consulte a seguinte documentação da API: