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.
Como utilizar o URI de conexão
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);
Usando MongoClientSettings
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);
Opções de conexão
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 | |||
Nome do aplicativo | O nome do aplicativo que o driver passa para o servidor nos metadados do cliente como parte da | |||
AutoEncryptionOptions | Configurações para criptografia automática do lado do cliente. | |||
ClusterConfigurator | Opções de configuração de baixo nível para soquetes, TLS, cluster e outros. | |||
Compressores | Os tipos de compactação preferidos, em ordem, para mensagens de wire protocol enviadas para | |||
ConnectTimeout | O período de tempo em que o driver tenta estabelecer uma única conexão de soquete TCP | |||
Credenciais | Configurações de como o driver se autentica no servidor. Isso inclui | |||
Conexão direta | Especifica se deseja forçar o envio de todas as operações para o host. | |||
HeartbeatInterval | O intervalo entre verificações regulares de monitoramento do servidor. Deve ser maior ou | |||
HeartbeatTimeout | O período de tempo em que um soquete de monitoramento pode ficar inativo antes de atingir o tempo limite. | |||
IPv6 | Especifica se o endereço do host está no formato IPv6. | |||
IsFrozen | Indica se as configurações foram congeladas. As configurações congeladas não podem ser alteradas. | |||
LinqProvider | O provedor LINQ a utilizar. | |||
loadBalanced | Especifica se o driver está se conectando a um balanceador de carga. Você pode definir esta
Tipo de dados: | |||
LocalThreshold | A janela de latência para elegibilidade do servidor. Se a viagem de ida e volta de um servidor demorar mais | |||
LoggingSettings | As configurações usadas para registro em log. | |||
maxConnecting | O maior número de conexões que o pool de conexões de um driver pode estar | |||
MaxConnectionIdleTime | O período de tempo que uma conexão pode ficar inativa antes que o driver a feche. | |||
MaxConnectionLifeTime | O período de tempo em que uma conexão pode ser agrupada antes de expirar. | |||
MaxConnectionPoolSize | O maior número de clientes ou conexões que o driver pode criar em seu | |||
MinConnectionPoolSize | O número de conexões que o driver deve criar e manter no pool de conexões | |||
Leia a preocupação | A read concern padrão do cliente. | |||
Leia a codificação | A codificação UTF-8 a ser usada para desserialização de string. | |||
readPreference | As configurações de preferência de leitura padrão do cliente. Você pode incluir o parâmetro | |||
ReplicaSetName | O nome do conjunto de réplicas a que se conectar. | |||
RetryReads | Permite leituras que podem ser repetidas. | |||
RetryWrites | Habilita gravações repetíveis. | |||
Esquema | Especifica se deve usar o formato de string de conexão padrão ( | |||
Servidor | O host e o número da porta onde o MongoDB está sendo executado. | |||
API do servidor | Permite optar pelo controle de versão da Stable API. Consulte | |||
ServerMonitoringMode | Especifica o protocolo de monitoramento do servidor a ser usado. Quando | |||
Servidores | Os nós do cluster onde MongoDB está em execução. | |||
ServerSelectionTimeout | O período durante o qual o driver tenta selecionar um servidor antes do tempo limite. | |||
Tempo limite do soquete | O período de tempo em que o driver tenta enviar ou receber em um soquete antes | |||
srvMaxHosts | O maior número de resultados SRV a serem selecionados aleatoriamente ao preencher inicialmente | |||
SrvServiceName | O nome do serviço dos registros de recursos SRV | |||
Configurações SSL | Opções de TLS/SSL, incluindo certificados de cliente, manuseio de revogação e | |||
Use TLS | Especifica se é necessário o TLS para conexões com o servidor. Se você usar | |||
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 | |||
Escreva preocupação | As configurações padrão de write concern, incluindo write timeout e | |||
WriteEncoding | Especifica se a serialização da string UTF-8 é rigorosa ou transitória. Com |