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

Opções de conexão

Esta seção descreve as opções de conexão e autenticação do MongoDB disponíveis no driver .NET/C#. Você pode configurar sua conexão usando o URI de conexão ou um objeto MongoClientSettings.

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:

using MongoDB.Driver;
// Sets the connection URI
const string connectionUri = "mongodb+srv://sample.host:27017/?connectTimeoutMS=60000&tls=true";
// Creates a new client and connects to the server
var client = new MongoClient(connectionUri);

Você pode usar um objeto MongoClientSettings para definir as configurações de conexão no código em vez de em um URI de conexão. Configurar a conexão dessa maneira facilita a alteração das configurações em tempo de execução, ajuda a detectar erros durante a compilação e oferece mais opções de configuração do que o URI de conexão.

Para usar um objeto MongoClientSettings , crie uma instância da classe, defina suas propriedades e passe-a como um argumento para o construtor MongoClient :

//const string connectionUri = "mongodb+srv://sample.host:27017/?connectTimeoutMS=60000&tls=true";
// Creates a MongoClientSettings object
var settings = new MongoClientSettings()
{
Scheme = ConnectionStringScheme.MongoDBPlusSrv,
Server = new MongoServerAddress("sample.host", 27017),
ConnectTimeout = new TimeSpan(0, 0, 60),
UseTls = true
};
// Creates a new client and connects to the server
var client = new MongoClient(settings);

A tabela a seguir lista cada opção de conexão disponível na classe MongoClientSettings e, se possível, como alcançar o mesmo resultado na string de conexão. Se uma propriedade MongoClientSettings for associada a mais de uma opção na cadeia de conexão, o Exemplo de URI de Conexão mostrará todas as opções correspondentes.

Observação

Se você estiver utilizando um parâmetro de query para uma duração de tempo, o valor deverá ser em milissegundos. Por exemplo, para especificar 60 segundos, utilize o valor 60000. Se você estiver usando um objeto MongoClientSettings por um período de tempo, use o valor TimeSpan apropriado.

Propriedade MongoClientSettings
Descrição

AllowInsecureTIs

Especifica se as restrições TLS devem ser relaxadas tanto quanto possível. Isso pode incluir
permitir certificados inválidos ou incompatibilidades de nomes de host.

Se esta propriedade estiver definida como true e SslSettings.CheckCertificateRevocation
estiver definida como false, o driver .NET/C# lançará uma exceção.

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

Nome do aplicativo

O nome do aplicativo que o driver passa para o servidor nos metadados do cliente como parte da
confirmação de conexão. O servidor imprime esse valor nos logs do MongoDB assim que
a conexão é estabelecida. O valor também é registrado nos logs de query lentos
e nas coleções de perfil.

Tipo de dados: string
Padrão: null
Exemplo de URI de conexão: appName=yourApp

AutoEncryptionOptions

Configurações para criptografia automática do lado do cliente.

Tipo de dados: AutoEncryptionOptions
Padrão: null
Exemplo de URI de conexão: N/A

ClusterConfigurator

Opções de configuração de baixo nível para soquetes, TLS, cluster e outros.

Tipo de dados: ação<ClusterBuilder>
Padrão: null
Exemplo de URI de conexão: N/A

Compressores

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

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

ConnectTimeout

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: TimeSpan
Padrão: 30 segundos
Exemplo de URI de conexão: connectTimeoutMS=0

Credenciais

Configurações de como o driver se autentica no servidor. Isso inclui
credenciais de autenticação, mecanismo, fonte e outras configurações.

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. Consulte
mecanismo de autenticação para ver os mecanismos de
autenticação disponíveis.

Tipo de dados: MongoCredential
Padrão: null
Exemplo de URI de conexão:

mongodb://user1:password1&authMechanism=GSSAPI
&authMechanismProperties=SERVICE_NAME:other,REALM:otherrealm
&authSource=$external

Conexão direta

Especifica se deseja 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 da lista de sementes DNS.
Você deve usar o formato padrão de URI de conexão
em vez disso.

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

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

HeartbeatInterval

O intervalo entre verificações regulares de monitoramento do servidor. Deve ser maior ou
igual a 500 milissegundos.

Tipo de dados: TimeSpan
Padrão: 10 segundos
Exemplo de URI de conexão: heartbeatFrequencyMS=5000

HeartbeatTimeout

O período de tempo em que um soquete de monitoramento pode ficar inativo antes de atingir o tempo limite.

Tipo de dados: TimeSpan
Padrão: mesmo valor que ConnectTimeout
Exemplo de URI de conexão: heartbeatTimeoutMS=5000

IPv6

Especifica se o endereço do host está no formato IPv6.

Tipo de dados: boolean
Padrão: false
Exemplo de URI de conexão: ipv6=true

IsFrozen

Indica se as configurações foram congeladas. As configurações congeladas não podem ser alteradas.
Esta opção é somente leitura.

Tipo de dados: boolean
Padrão: false
Exemplo de URI de conexão: N/A

LinqProvider

O provedor LINQ a utilizar.

Tipo de dados: LinqProvider
Padrão: LinqProvider.V3
Exemplo de URI de conexão: N/A

loadBalanced

Especifica se o driver está se conectando a um balanceador de carga. Você pode definir esta
propriedade como true somente se:

  • Você especifica apenas um nome de host.

  • Você não está conectando a um conjunto de réplicas.

  • Você não está usando a propriedade SrvMaxHosts.

  • Você não está usando a propriedade DirectConnection.

Tipo de dados: boolean
Padrão: false
Exemplo de URI de conexão: loadBalanced=true

LocalThreshold

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: TimeSpan
Padrão: 15 milissegundos
Exemplo de URI de conexão: localThresholdMS=0

LoggingSettings

As configurações usadas para registro em log.

Tipo de dados: LoggingSettings
Padrão: null
Exemplo de URI de conexão: N/A

maxConnecting

O maior número de conexões que o pool de conexões de um driver pode estar
estabelecendo simultaneamente.

Tipo de dados: integer
Padrão: 2
Exemplo de URI de conexão: maxConnecting=3

MaxConnectionIdleTime

O período de tempo que uma conexão pode ficar inativa antes que o driver a feche.

Tipo de dados: TimeSpan
Padrão: 10 minutos
Exemplo de URI de conexão: maxIdleTimeMS=300000

MaxConnectionLifeTime

O período de tempo em que uma conexão pode ser agrupada antes de expirar.

Tipo de dados: TimeSpan
Padrão: 30 minutos
Exemplo de URI de conexão: maxLifetimeMS=50000

MaxConnectionPoolSize

O maior número de clientes ou conexões que o driver pode criar em seu
pool de conexões. Esta contagem inclui conexões em uso.

Tipo de dados: integer
Padrão: 100
Exemplo de URI de conexão: maxPoolSize=150

MinConnectionPoolSize

O número de conexões que o driver deve criar e manter no pool de conexões
mesmo quando nenhuma operação estiver ocorrendo. Essa contagem inclui conexões
em uso.

Tipo de dados: integer
Padrão: 0
Exemplo de URI de conexão: minPoolSize=1

Leia a preocupação

A read concern padrão do cliente.
Consulte read concern para obter mais informações.

Tipo de dados: ReadConcern
Padrão: ReadConcern.Default
Exemplo de URI de conexão: readConcernLevel=local

Leia a codificação

A codificação UTF-8 a ser usada para desserialização de string.
A codificação rigorosa lançará uma exceção quando uma8 sequência de bytes UTF- inválida
for encontrada.

Tipo de dados: UTF8Encoding
Padrão: codificação rigorosa
Exemplo de URI de conexão: N/A

readPreference

As configurações de preferência de leitura padrão do cliente. MaxStaleness representa o
maior atraso de replicação, em tempo real, que um secundário pode experimentar e
ainda ser elegível para seleção de servidor. Especificar -1 significa que não há máximo.
Consulte preferência de leitura para obter mais informações.

Tipo de dados: ReadPreference
Padrão: ReadPreference.Primary
Exemplo de URI de conexão:

readPreference=primaryPreferred
&maxStalenessSeconds=90
&readPreferenceTags=dc:ny,rack:1

Você pode incluir o parâmetro readPreferenceTags no URI de conexão mais de uma vez. Se você fizer isso, o cliente definirá cada instância como um conjunto de tags separado. A order das tags no URI determina a ordem de preferência de leitura. Você pode utilizar este parâmetro somente se o modo de preferência de leitura não for primary.

ReplicaSetName

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

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

RetryReads

Permite leituras que podem ser repetidas.

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

RetryWrites

Habilita gravações repetíveis.

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

Esquema

Especifica se deve usar o formato de string de conexão padrão (MongoDB)
ou o formato de lista de sementes DNS (MongoDBPlusSrv).
Consulte o Manual do MongoDB para obter mais
informações sobre formatos de string de conexão.

Se a propriedade DirectConnection estiver definida como true e você
tentar usar o formato de lista de sementes DNS, o driver .NET/C# lançará uma
exceção.

Tipo de dados: ConnectionStringScheme
Padrão: ConnectionStringScheme.MongoDB
Exemplo de URI de conexão: mongodb+srv://

Servidor

O host e o número da porta onde o MongoDB está sendo executado.

Tipo de dados: MongoServerAddress
Padrão: localhost:27017
Exemplo de URI de conexão: mongodb://sample.host:27017

API do servidor

Permite optar pelo controle de versão da Stable API. Consulte
o Manual do MongoDB para obter mais informações sobre
o controle de versão da Stable API.

Tipo de dados: ServerApi
Padrão: null
Exemplo de URI de conexão: N/A

ServerMonitoringMode

Especifica o protocolo de monitoramento do servidor a ser usado. Quando
essa opção é definida como Auto, o modo de monitoramento é determinado
pelo ambiente em que o driver está sendo executado. O driver
usa o modo de sondagem em ambientes de função como serviço (FaaS),
como o Amazon Web Services Lambda, e o modo de streaming em outros ambientes.

Tipo de dados: ServerMonitoringMode
Padrão: Auto
Exemplo de URI de conexão: serverMonitoringMode=poll

Servidores

Os nós do cluster onde MongoDB está em execução.

Tipo de dados: IEnumerable<MongoServerAddress>
Padrão: localhost:27017
Exemplo de URI de conexão: mongodb://sample.host1:27017,sample.host2:27017

ServerSelectionTimeout

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

Tipo de dados: TimeSpan
Padrão: 30 segundos
Exemplo de URI de conexão: serverSelectionTimeoutMS=15000

Tempo limite do soquete

O período de tempo em que o driver tenta enviar ou receber em um soquete antes
do tempo limite.

Tipo de dados: TimeSpan
Padrão: padrão do sistema operacional
Exemplo de URI de conexão: socketTimeoutMS=0

srvMaxHosts

O maior número de resultados SRV a serem selecionados aleatoriamente ao preencher inicialmente
a lista de sementes ou, durante a sondagem SRV, adicionar novos hosts à topologia.

Você pode usar esta propriedade somente se o esquema de string de conexão estiver
definido ConnectionStringScheme.MongoDBPlusSrv como. Você não pode usá-lo ao se conectar
a um conjunto de réplicas.

Tipo de dados: integer
Padrão: 0
Exemplo de URI de conexão: srvMaxHosts=3

SrvServiceName

O nome do serviço dos registros de recursos SRV
que o driver recupera para construir sua lista de sementes. Esta
propriedade substitui o nome do serviço padrão para pesquisa de SRV em
descoberta e pesquisa.

Você pode usar esta propriedade somente se o esquema de string de conexão estiver definido
como ConnectionStringScheme.MongoDBPlusSrv. Você não pode usá-lo ao conectar-se
a um conjunto de réplicas.

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

Configurações SSL

Opções de TLS/SSL, incluindo certificados de cliente, manuseio de revogação e
protocolos TLS/SSL habilitados e desabilitados.

Se SslSettings.CheckCertificateRevocation estiver definido como false e
AllowInsecureTls estiver definido como true, o driver .NET/C# lançará
uma exceção.

Tipo de dados: SslSettings
Padrão: null
Exemplo de URI de conexão: tlsDisableCertificateRevocationCheck=false

Use TLS

Especifica se é necessário o TLS para conexões com o servidor. Se você usar
um esquema de "mongodb+srv" ou especificar outras opções de TLS,
esta opção assume o padrão true.

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

Tempo limite da fila de espera

O período de tempo em que o driver tenta verificar uma conexão do pool de conexões de um
servidor antes de atingir o tempo limite.

Tipo de dados: TimeSpan
Padrão: 2 minutos
Exemplo de URI de conexão: waitQueueTimeoutMS=0

Escreva preocupação

As configurações padrão de write concern, incluindo write timeout e
registro no diário, para o cliente.
Consulte write concern para obter mais informações.

Tipo de dados: WriteConcern
Padrão: WriteConcern.Acknowledged
Exemplo de URI de conexão: w=majority&wTimeoutMS=0&journal=true

WriteEncoding

Especifica se a serialização da string UTF-8 é rigorosa ou transitória. Com
codificação rigorosa o driver lançará uma exceção quando encontrar uma
8 sequência de bytes UTF- inválida.

Tipo de dados: UTF8Encoding
Padrão: codificação rigorosa
Exemplo de URI de conexão: N/A