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.
Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
MongoDB Branding Shape
Click here >
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 protocolo de transmissão 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írgula
MongoClientSettings: compressorList(listOf(<MongoCompressor>))
URI de conexão: compressors=snappy,zstd,zlib

zlibCompressionLevel

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

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


Tipo-1
de dados:inteiro Padrão: 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. 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, o driver aguarda o sucesso da seleção do servidor 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 do Kotlin Sync usa para autenticar o aplicação.

Tipo de dados: string
Padrão: "SCRAM-SHA-256" ao conectar 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
"admin"
Padrão:URI de conexão:authSource=admin

nome de usuário

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
URI de conexão: username=my+user

Senha

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
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 membro principal 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.


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

readConcern

Especifica a preocupação de leitura 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 preocupação de gravação 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 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.


Tipo15
de dados: inteiro Padrão: 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: