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 página descreve as opções de conexão e autenticação do MongoDB disponíveis no driver Scala e explica como especificá-las para sua conexão MongoDB.

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:

val uri = "mongodb://localhost:27017/?connectTimeoutMS=60000&tls=true"
val mongoClient = MongoClient(uri)

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

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(List(new ServerAddress("localhost", 27017)).asJava))
.applyToSocketSettings(builder =>
builder.connectTimeout(60000, TimeUnit.MILLISECONDS))
.applyToSslSettings(builder => builder.enabled(true))
.build()
val mongoClient = MongoClient(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 = "mongodb://localhost:27017/"
val settings = MongoClientSettings.builder()
.applyConnectionString(ConnectionString(uri))
.applyToSocketSettings(builder =>
builder.connectTimeout(60000, TimeUnit.MILLISECONDS))
.applyToSslSettings(builder => builder.enabled(true))
.build()
val mongoClient = MongoClient(settings)

Os tipos de compactação preferidos, em ordem, para mensagens de wire protocol enviadas ou recebidas do servidor. Você pode habilitar "snappy", "zlib" e "zstd" como dependências opcionais do tempo de compilação. O driver usa o primeiro desses tipos de compactação compatíveis com o servidor.

Tipo de dados: stringdelimitado por vírgulas

Valor padrão: null

Exemplo:

val uri = "mongodb://localhost:27017/?compressors=snappy,zstd,zlib"
val mongoClient = MongoClient(uri)

O nível de compactação zlib a ser usado. Esta opção aceita um valor inteiro entre -1 e 9:

  • -1: (padrão). zlib usa seu nível de compressão padrão (geralmente 6).

  • 0: sem compressão.

  • 1: velocidade mais rápida, mas menor compressão.

  • 9: a melhor compactação, mas a velocidade mais lenta.

Tipo de Dados: integer

Valor padrão: -1

Exemplo:

val uri = "mongodb://localhost:27017/?compressors=zlib&zlibCompressionLevel=3"
val mongoClient = MongoClient(uri)

Os tipos de compactação preferidos, em ordem, para mensagens de wire protocol enviadas ou recebidas do servidor. Você pode habilitar "snappy", "zlib" e "zstd" como dependências opcionais do tempo de compilação. O driver usa o primeiro desses tipos de compactação compatíveis com o servidor.

Tipo de Dados: List[MongoCompressor]

Valor padrão: lista vazia

Exemplo:

val settings = MongoClientSettings.builder()
.compressorList(List(
MongoCompressor.createSnappyCompressor(),
MongoCompressor.createZstdCompressor(),
MongoCompressor.createZlibCompressor()
).asJava)
.build()
val mongoClient = MongoClient(settings)

O nível de compactação zlib a ser usado. Esta opção aceita um valor inteiro entre -1 e 9:

  • -1: (padrão). zlib usa seu nível de compressão padrão (geralmente 6).

  • 0: sem compressão.

  • 1: velocidade mais rápida, mas menor compressão.

  • 9: a melhor compactação, mas a velocidade mais lenta.

Tipo de Dados: integer

Valor padrão: -1

Exemplo:

val settings = MongoClientSettings.builder()
.compressorList(List(
MongoCompressor.createZlibCompressor()
.withProperty(MongoCompressor.LEVEL, 3)
).asJava)
.build()
val mongoClient = MongoClient(settings)

O período de tempo em que o driver tenta estabelecer uma única conexão de soquete TCP com o servidor antes de atingir o tempo limite.

Tipo de Dados: integer

Valor padrão: 10000

Exemplo:

val uri = "mongodb://localhost:27017/?connectTimeoutMS=10000"
val mongoClient = MongoClient(uri)

Esta opção está obsoleta. Configure esse tempo limite definindo o tempo limite no nível do cliente.

O período de tempo em que o driver tenta enviar ou receber em um soquete antes de atingir o tempo limite. O valor padrão é definido pelo sistema operacional.

Tipo de Dados: integer

Valor padrão: sem tempo limite

Exemplo:

val uri = "mongodb://localhost:27017/?socketTimeoutMS=5000"
val mongoClient = MongoClient(uri)

O período de tempo em que o driver tenta estabelecer uma única conexão de soquete TCP com o servidor antes de atingir o tempo limite.

Tipo de Dados: integer

Valor padrão: 10000

Exemplo:

val settings = MongoClientSettings.builder()
.applyToSocketSettings(builder =>
builder.connectTimeout(10, TimeUnit.SECONDS))
.build()
val mongoClient = MongoClient(settings)

Esta opção está obsoleta. Configure esse tempo limite definindo o tempo limite no nível do cliente.

O período de tempo em que o driver tenta enviar ou receber em um soquete antes de atingir o tempo limite. O valor padrão é definido pelo sistema operacional.

Tipo de Dados: integer

Valor padrão: sem tempo limite

Exemplo:

val settings = MongoClientSettings.builder()
.applyToSocketSettings(builder =>
builder.readTimeout(5, TimeUnit.SECONDS))
.build()
val mongoClient = MongoClient(settings)

O período durante o qual o driver tenta selecionar um servidor antes do tempo limite.

Tipo de Dados: integer

Valor padrão: 30000

Exemplo:

val uri = "mongodb://localhost:27017/?serverSelectionTimeoutMS=30000"
val mongoClient = MongoClient(uri)

O período durante o qual o driver tenta selecionar um servidor antes do tempo limite.

Tipo de Dados: integer

Valor padrão: 30000

Exemplo:

val settings = MongoClientSettings.builder()
.applyToClusterSettings(builder =>
builder.serverSelectionTimeout(30, TimeUnit.SECONDS))
.build()
val mongoClient = MongoClient(settings)

Dica

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

O mecanismo que o driver usa para autenticar no MongoDB Server. Se você não especificar um mecanismo de autenticação, o driver usará SCRAM-SHA-1 ou SCRAM-SHA-256, dependendo da versão do servidor.

Tipo de Dados: string

Valor padrão: "SCRAM-SHA-256" ao conectar-se ao MongoDB v4.0 ou posterior

Exemplo:

val uri = "mongodb://<username>:<password>@localhost:27017/?authMechanism=SCRAM-SHA-256"
val mongoClient = MongoClient(uri)

Opções específicas para o mecanismo de autenticação. Não é necessário para todos os mecanismos de autenticação.

Tipo de Dados: string

Exemplo:

val uri = "mongodb://localhost:27017/?authMechanismProperties=AWS_SESSION_TOKEN:12435"
val mongoClient = MongoClient(uri)

O banco de dados para autenticar.

Tipo de Dados: string

Valor padrão: "admin"

Exemplo:

val uri = "mongodb://<username>:<password>@localhost:27017/?authSource=admin"
val mongoClient = MongoClient(uri)

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

Exemplo:

val uri = "mongodb://myUser:<password>@localhost:27017/"
val mongoClient = MongoClient(uri)

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

Exemplo:

val uri = "mongodb://<username>:myPassword@localhost:27017/"
val mongoClient = MongoClient(uri)

O mecanismo que o driver usa para autenticar no MongoDB Server. Se você não especificar um mecanismo de autenticação, o driver usará SCRAM-SHA-1 ou SCRAM-SHA-256, dependendo da versão do servidor.

Tipo de Dados: string

Valor padrão: "SCRAM-SHA-256" ao conectar-se ao MongoDB v4.0 ou posterior

Exemplo:

val settings = MongoClientSettings.builder()
.credential(MongoCredential.createScramSha256Credential(
"<username>", "<authSource>", "<password>".toCharArray))
.build()
val mongoClient = MongoClient(settings)

Observação

Para configurar nome de usuário, senha, fonte de autenticação e propriedades específicas do mecanismo em MongoClientSettings, use o método de fábrica MongoCredential apropriado. Para saber mais, consulte o guia Mecanismos de autenticação.

O nome do conjunto de réplicas a que se conectar.

Tipo de Dados: string

Exemplo:

val uri = "mongodb://localhost:27017/?replicaSet=myRS"
val mongoClient = MongoClient(uri)

Especifica se deve forçar o envio de todas as operações para o host. Se você especificar esta opção, o driver não aceitará o formato de conexão SRV. Em vez disso, você deve usar o formato padrão de URI de conexão. Para saber mais sobre a conexão SRV e os formatos de conexão padrão, consulte o guia string de conexão no manual do MongoDB Server.

Esta propriedade deve ser configurada para false se você especificar mais de um nome de host.

Tipo de Dados: boolean

Valor padrão: false

Exemplo:

val uri = "mongodb://localhost:27017/?directConnection=true"
val mongoClient = MongoClient(uri)

As configurações de preferência de leitura padrão do cliente. Consulte Preferência de leitura no manual do MongoDB Server para obter mais informações.

Tipo de Dados: string

Valor padrão: primary

Exemplo:

val uri = "mongodb://localhost:27017/?readPreference=primary"
val mongoClient = MongoClient(uri)

A read concern do cliente. Para obter mais informações, consulte read concern no manual do MongoDB Server.

Tipo de Dados: string

Exemplo:

val uri = "mongodb://localhost:27017/?readConcern=majority"
val mongoClient = MongoClient(uri)

O write concern do cliente. Para obter mais informações, consulte write concern no manual do MongoDB Server.

Tipo de Dados: string

Exemplo:

val uri = "mongodb://localhost:27017/?writeConcern=majority"
val mongoClient = MongoClient(uri)

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

Tipo de Dados: integer

Valor padrão: 15

Exemplo:

val uri = "mongodb://localhost:27017/?localThresholdMS=35"
val mongoClient = MongoClient(uri)

O nome do conjunto de réplicas a que se conectar.

Tipo de Dados: string

Exemplo:

val settings = MongoClientSettings.builder()
.applyToClusterSettings(builder =>
builder.requiredReplicaSetName("myRS"))
.build()
val mongoClient = MongoClient(settings)

Especifica se deve forçar o envio de todas as operações para o host. Se você especificar esta opção, o driver não aceitará o formato de conexão SRV. Em vez disso, você deve usar o formato padrão de URI de conexão. Para saber mais sobre a conexão SRV e os formatos de conexão padrão, consulte o guia string de conexão no manual do MongoDB Server.

Esta propriedade deve ser configurada para false se você especificar mais de um nome de host.

Tipo de Dados: boolean

Valor padrão: false

Exemplo:

val settings = MongoClientSettings.builder()
.applyToClusterSettings(builder =>
builder.mode(ClusterConnectionMode.SINGLE))
.build()
val mongoClient = MongoClient(settings)

As configurações de preferência de leitura padrão do cliente. Consulte Preferência de leitura no manual do MongoDB Server para obter mais informações.

Tipo de Dados: string

Valor padrão: primary

Exemplo:

val settings = MongoClientSettings.builder()
.readPreference(ReadPreference.primary())
.build()
val mongoClient = MongoClient(settings)

A read concern do cliente. Para obter mais informações, consulte read concern no manual do MongoDB Server.

Tipo de Dados: string

Exemplo:

val settings = MongoClientSettings.builder()
.readConcern(ReadConcern.MAJORITY)
.build()
val mongoClient = MongoClient(settings)

O write concern do cliente. Para obter mais informações, consulte write concern no manual do MongoDB Server.

Tipo de Dados: string

Exemplo:

val settings = MongoClientSettings.builder()
.writeConcern(WriteConcern.MAJORITY)
.build()
val mongoClient = MongoClient(settings)

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

Tipo de Dados: integer

Valor padrão: 15

Exemplo:

val settings = MongoClientSettings.builder()
.applyToClusterSettings(builder =>
builder.localThreshold(35, TimeUnit.MILLISECONDS))
.build()
val mongoClient = MongoClient(settings)

Para ver uma lista completa de opções de conexão, consulte Opções de string de conexão no manual do MongoDB Server.

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