Menu Docs
Página inicial do Docs
/ / /
Driver de Kotlin Sync
/

Especificar opções de conexão

Nesta página

  • Visão geral
  • Definir opções no URI de conexão
  • Definir opções em MongoClientSettings
  • Opções de conexão
  • Compactação de rede
  • Tempo limite
  • Seleção do Servidor
  • Autenticação
  • Operações de leitura e escrita
  • Informações adicionais
  • Documentação da API

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
The preferred compression types, in order, for wire-protocol messages sent to or received from the server. The driver uses the first of these compression types that the server supports.

Data Type: comma-delimited string
MongoClientSettings: compressorList(listOf(<MongoCompressor>))
Connection URI: compressors=snappy,zstd,zlib
zlibCompressionLevel
The compression level for zlib to use. This option accepts an integer value between -1 and 9, corresponding to the following settings:

- -1: (Default). zlib uses its default compression level (usually 6).
- 0: No compression.
- 1: Fastest speed but lowest compression.
- 9: Best compression but slowest speed.

Data Type: integer
Default: -1
MongoClientSettings: compressorList(listOf(zlib.withProperty(MongoCompressor.LEVEL, 3)))
Connection URI: zlibCompressionLevel=3
Opção de conexão
Descrição
connectTimeoutMS
The time in milliseconds to attempt a connection before timing out.

Data Type: integer
Default: 10000
MongoClientSettings:
applyToSocketSettings{ builder ->
builder.connectTimeout(10, TimeUnit.SECONDS)
}
Connection URI: timeoutMs=10000
socketTimeoutMS
The time in milliseconds to attempt a send or receive on a connection before the attempt times out.

Data Type: integer
Default: no timeout
MongoClientSettings:
applyToSocketSettings{ builder ->
builder.readTimeout(5, TimeUnit.SECONDS)
}
Connection URI: socketTimeoutMS=5000
Opção de conexão
Descrição
serverSelectionTimeoutMS
The maximum amount of time, in milliseconds, the driver waits for server selection to succeed before throwing an exception.

Data Type: integer
Default: 30000
MongoClientSettings:
applyToClusterSettings{ builder ->
builder.serverSelectionTimeout(30, TimeUnit.SECONDS)
}
Connection URI: serverSelectionTimeoutMS=30000
Opção de conexão
Descrição
authMechanism
The mechanism that the Kotlin Sync driver uses to authenticate the application.

Data Type: string
Default: "SCRAM-SHA-256" when connecting to MongoDB v4.0 or later
MongoClientSettings:
credential(
MongoCredential.createScramSha256Credential(...)
)
Connection URI: authMechanism=SCRAM-SHA-256
authMechanismProperties
Options specific to the authentication mechanism. This option isn't needed for all authentication mechanisms.

Data Type: string
Connection URI: authMechanismProperties=AWS_SESSION_TOKEN:12435
authSource
The database to authenticate against.

Data Type: string
Default: "admin"
Connection URI: authSource=admin
nome de usuário
The username for authentication. When this option is included in a connection URI, you must percent-encode it.

Data Type: string
Connection URI: username=my+user
Senha
The password for authentication. When this option is included in a connection URI, you must percent-encode it.

Data Type: string
Connection URI: password=strong+password

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

Opção de conexão
Descrição
replicaSet
Specifies the name of the replica set to connect to.

Data Type: string
Connection URI: replicaSet=myRS
directConnection
Whether to connect only to the primary member of the replica set.

Data Type: boolean
Default: false
MongoClientSettings:
applyToClusterSettings{ builder ->
builder.mode(ClusterConnectionMode.SINGLE)
}
Connection URI: directConnection=true
readPreference
Specifies the client's read preference. For more information, see Read Preference in the Server manual.

Data Type: string
Default: primary
MongoClientSettings: readPreference(ReadPreference.primary())
Connection URI: readPreference=primary
readConcern
Specifies the client's read concern. For more information, see Read Concern in the Server manual.

Data Type: string
MongoClientSettings: readConcern(ReadConcern.MAJORITY)
Connection URI: readConcern=majority
writeConcern
Specifies the client's write concern. For more information, see Write Concern in the Server manual.

Data Type: string
MongoClientSettings: writeConcern(WriteConcern.MAJORITY)
Connection URI: writeConcern=majority
localThresholdMS
The latency window for a replica-set member's eligibility. If a member's round trip ping takes longer than the fastest server's round-trip ping time plus this value, the server isn't eligible for selection.

Data Type: integer
Default: 15
MongoClientSettings:
applyToClusterSettings{ builder ->
builder.localThreshold(35, TimeUnit.MILLISECONDS)
}
Connection URI: 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:

Voltar

Escolha um destino de conexão