Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Menu Docs
Página inicial do Docs
/ / /
Driver C#/ .NET
/

Especificar opções de conexão

Esta página descreve as opções de conexão disponíveis no driver .NET/C# e explica como aplicá-las à sua conexão MongoDB .

As seções a seguir descrevem maneiras de especificar opções de conexão.

Se você passar um URI de conexão para o construtor MongoClient, poderá incluir opções de conexão na string como pares de <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:

const string uri = "mongodb+srv:/localhost:27017/?connectTimeoutMS=60000&tls=true";

Para saber mais sobre as opções que você pode especificar em um URI de conexão, consulte Opções de connection string no manual do MongoDB Server.

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 definir opções de conexão em um objeto MongoClientSettings, execute as seguintes etapas:

  1. Crie uma instância da classe MongoClientSettings

  2. Definir propriedades na instância para configurar a conexão

  3. Passe a instância para o construtor MongoClient

O seguinte exemplo de código mostra como executar as etapas anteriores:

var settings = new MongoClientSettings()
{
Scheme = ConnectionStringScheme.MongoDBPlusSrv,
Server = new MongoServerAddress("localhost", 27017),
ConnectTimeout = TimeSpan.FromMilliseconds(60000),
UseTls = true
};
var client = new MongoClient(settings);

Você também pode criar um objeto MongoClientSettings a partir de uma string de conexão chamando o método MongoClientSettings.FromConnectionString() e passando a string de conexão, conforme mostrado no exemplo a seguir. Isso é útil se você já tiver uma string de conexão , mas quiser modificar algumas configurações programaticamente, ou se precisar especificar configurações que não estão disponíveis na string de conexão.

const string connectionUri = "mongodb+srv://localhost:27017/?connectTimeoutMS=60000&tls=true";
var settings = MongoClientSettings.FromConnectionString(connectionUri);
settings.ServerApi = new ServerApi(ServerApiVersion.V1);
var client = new MongoClient(settings);

Como alternativa, você pode criar um objeto MongoClientSettings a partir de um objeto MongoUrl chamando o método MongoClientSettings.FromUrl() e passando o objeto MongoUrl , conforme mostrado no exemplo a seguir. Isso é útil se você já tiver um objeto MongoUrl, mas quiser especificar configurações que não estão disponíveis na classe MongoUrl.

const string connectionUri = "mongodb+srv://localhost:27017/?connectTimeoutMS=60000&tls=true";
var url = new MongoUrl(connectionUri);
var settings = MongoClientSettings.FromUrl(url);
settings.ServerApi = new ServerApi(ServerApiVersion.V1);
var client = new MongoClient(settings);

Você pode utilizar um objeto MongoUrlBuilder para criar e configurar configurações de conexão em um objeto MongoUrl. Um MongoUrl é uma representação fortemente digitada de um URI de conexão e é útil ao ler um URI de conexão diretamente de outra fonte. O uso de um objeto MongoUrl tem muitas das mesmas vantagens que o uso de um objeto MongoClientSettings, embora as duas classes contenham propriedades e métodos diferentes.

Para utilizar um objeto MongoUrlBuilder, crie uma instância da classe e defina as propriedades de configuração necessárias. Para criar um objeto MongoUrl a partir de MongoUrlBuilder, chame o método MongoUrlBuilder.ToMongoUrl(). Você pode passar o objeto MongoUrl para o construtor MongoClient. O seguinte exemplo de código mostra este processo:

const string connectionUri = "mongodb+srv://localhost:27017/?connectTimeoutMS=60000&tls=true";
var builder = new MongoUrlBuilder(connectionUri)
{
ServerMonitoringMode = MongoDB.Driver.Core.Servers.ServerMonitoringMode.Stream
};
var url = builder.ToMongoUrl();
var client = new MongoClient(url);

As seções a seguir descrevem as opções de conexão disponíveis no driver .NET/C# e como especificá-las usando um objeto MongoClientSettings ou MongoUrlBuilder.

Especifica se todas as operações devem ser forçadas a serem despachadas para o host. Se você especificar esta opção, o driver não aceitará o formato de conexão da lista de sementes DNS. Em vez disso, você deve usar o formato URI de conexão padrão. O valor padrão é false.

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

var settings = new MongoClientSettings
{
DirectConnection = true,
};

O nome do conjunto de réplicas a que se conectar. O valor padrão é null.

var settings = new MongoClientSettings
{
ReplicaSetName = "yourReplicaSet",
};

Especifica se todas as operações devem ser forçadas a serem despachadas para o host. Se você especificar esta opção, o driver não aceitará o formato de conexão da lista de sementes DNS. Em vez disso, você deve usar o formato URI de conexão padrão. O valor padrão é false.

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

var builder = new MongoUrlBuilder
{
DirectConnection = true,
};

O nome do conjunto de réplicas a que se conectar. O valor padrão é null.

var builder = new MongoUrlBuilder
{
ReplicaSetName = "yourReplicaSet",
};

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. O valor padrão é false.

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

O seguinte exemplo de código mostra como definir esta opção para true:

var settings = new MongoClientSettings
{
AllowInsecureTls = true,
};

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

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

var settings = new MongoClientSettings();
settings.SslSettings = new SslSettings()
{
CheckCertificateRevocation = false,
ClientCertificateSelectionCallback = new LocalCertificateSelectionCallback() { ... },
ClientCertificates = new List<X509Certificate>() { ... },
EnabledSslProtocols = SslProtocols.Tls13,
ServerCertificateValidationCallback = new RemoteCertificateValidationCallback() { ... }
};

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, essa opção será padronizada como true. Caso contrário, o padrão é false.

var settings = new MongoClientSettings
{
UseTls = true,
};

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. O valor padrão é false.

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

O seguinte exemplo de código mostra como definir esta opção para true:

var builder = new MongoUrlBuilder
{
AllowInsecureTls = true,
};

Se a verificação de revogação de certificado deve ser desabilitada durante a negociação TLS. O valor padrão é false.

var builder = new MongoUrlBuilder
{
TlsDisableCertificateRevocationCheck = true
};

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, essa opção será padronizada como true. Caso contrário, o padrão é false.

var builder = new MongoUrlBuilder
{
UseTls = true,
};

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. O valor padrão é 30 segundos.

var settings = new MongoClientSettings
{
ConnectTimeout = TimeSpan.FromSeconds(60),
};

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.

var settings = new MongoClientSettings
{
ConnectTimeout = TimeSpan.FromSeconds(60),
};

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. O valor padrão é 30 segundos.

var builder = new MongoUrlBuilder
{
ConnectTimeout = TimeSpan.FromSeconds(60),
};

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.

var builder = new MongoUrlBuilder
{
SocketTimeout = TimeSpan.FromSeconds(60),
};

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. O valor padrão é null.

var settings = new MongoClientSettings
{
Compressors = new List<CompressorConfiguration>()
{
new(CompressorType.Zlib),
new(CompressorType.Snappy)
}
};

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. O valor padrão é null.

var builder = new MongoUrlBuilder
{
Compressors = new List<CompressorConfiguration>()
{
new(CompressorType.Zlib),
new(CompressorType.Snappy)
}
};

O maior número de conexões que o pool de conexões de um driver pode estar estabelecendo simultaneamente. O valor padrão é 2.

var settings = new MongoClientSettings
{
MaxConnecting = 3,
};

O período de tempo que uma conexão pode ficar inativa antes que o driver a feche. O valor padrão é 10 minutos.

var settings = new MongoClientSettings
{
MaxConnectionIdleTime = TimeSpan.FromMinutes(8),
};

O período de tempo em que uma conexão pode ser agrupada antes de expirar. O valor padrão é 30 minutos.

var settings = new MongoClientSettings
{
MaxConnectionLifeTime = TimeSpan.FromMinutes(40),
};

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. O valor padrão é 100.

var settings = new MongoClientSettings
{
MaxConnectionPoolSize = 150,
};

O número de conexões que o driver cria e mantém no pool de conexões mesmo quando nenhuma operação está ocorrendo. Esta contagem inclui conexões em uso. O valor padrão é 0.

var settings = new MongoClientSettings
{
MinConnectionPoolSize = 3,
};

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. O valor padrão é dois minutos.

var settings = new MongoClientSettings
{
WaitQueueTimeout = TimeSpan.FromSeconds(30),
};

O maior número de conexões que o pool de conexões de um driver pode estar estabelecendo simultaneamente. O valor padrão é 2.

var builder = new MongoUrlBuilder
{
MaxConnecting = 3,
};

O período de tempo que uma conexão pode ficar inativa antes que o driver a feche. O valor padrão é 10 minutos.

var builder = new MongoUrlBuilder
{
MaxConnectionIdleTime = TimeSpan.FromMinutes(8),
};

O período de tempo em que uma conexão pode ser agrupada antes de expirar. O valor padrão é 30 minutos.

var builder = new MongoUrlBuilder
{
MaxConnectionLifeTime = TimeSpan.FromMinutes(40),
};

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. O valor padrão é 100.

var builder = new MongoUrlBuilder
{
MaxConnectionPoolSize = 150,
};

O número de conexões que o driver cria e mantém no pool de conexões mesmo quando nenhuma operação está ocorrendo. Esta contagem inclui conexões em uso. O valor padrão é 0.

var builder = new MongoUrlBuilder
{
MinConnectionPoolSize = 3,
};

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. O valor padrão é dois minutos.

var builder = new MongoUrlBuilder
{
WaitQueueTimeout = TimeSpan.FromSeconds(30),
};

As configurações padrão de write concern, incluindo tempo limite de escrita e registro no diário para o cliente. O valor padrão é WriteConcern.Acknowledged. Consulte Write Concern no manual do MongoDB Server para obter mais informações.

var settings = new MongoClientSettings();
settings.WriteConcern = MongoDB.Driver.WriteConcern.Acknowledged;
settings.WriteConcern = new WriteConcern(
w: 1,
wTimeout: new TimeSpan(0, 0, 0, 30, 0),
fsync: true,
journal: true
);

O componente FSync do preocupação de gravação. O valor padrão é false. Para saber mais sobre o comando fsync, consulte fsync no manual do MongoDB Server.

var builder = new MongoUrlBuilder
{
FSync = true
};

O componente j do preocupação de gravação, que solicita a confirmação de que as instâncias do MongoDB foram escritas no diário no disco. O valor padrão depende do valor na configuração writeConcernMajorityJournalDefault. Para saber mais sobre a opção j, consulte Write Concern no manual do MongoDB Server.

var builder = new MongoUrlBuilder
{
Journal = true
};

O componente w da preocupação de gravação, que solicita a confirmação de que a operação de escrita se propagou para um número específico de instâncias do MongoDB . O valor padrão é "majority" ou 1, dependendo do número de árbitros e nós de votação. Para saber mais sobre a opção w, consulte Write Concern no manual do MongoDB Server.

var builder = new MongoUrlBuilder
{
W = 2
};

O componente wtimeout da preocupação de gravação, que especifica um limite de tempo para a preocupação de gravação. Para saber mais sobre a opção wtimeout, consulte Write Concern no manual do MongoDB Server.

var builder = new MongoUrlBuilder
{
WTimeout = TimeSpan.FromSeconds(5)
};

A preocupação de leitura do cliente. O valor padrão é ReadConcern.Default. Para obter mais informações, consulte Read Concern no manual do MongoDB Server.

var settings = new MongoClientSettings
{
ReadConcern = MongoDB.Driver.ReadConcern.Local,
};

O nível de preocupação de leitura do cliente. O valor padrão é ReadConcern.Local. Para obter mais informações, consulte preocupação de leitura.

var builder = new MongoUrlBuilder
{
ReadConcernLevel = MongoDB.Driver.ReadConcernLevel.Local,
};

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 enfrentar e ainda ser qualificado para seleção de servidor . O valor padrão é ReadPreference.Primary. Especificar -1 significa que não há máximo. Consulte Preferências de leitura no manual do MongoDB Server para obter mais informações.

var settings = new MongoClientSettings
{
ReadPreference = MongoDB.Driver.ReadPreference.PrimaryPreferred,
};

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 enfrentar e ainda ser qualificado para seleção de servidor . O valor padrão é ReadPreference.Primary. Especificar -1 significa que não há máximo. Consulte Preferências de leitura no manual do MongoDB Server para obter mais informações.

var builder = new MongoUrlBuilder
{
ReadPreference = MongoDB.Driver.ReadPreference.PrimaryPreferred,
};

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

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

var settings = new MongoClientSettings
{
Credential = MongoCredential.CreatePlainCredential(
databaseName: "admin",
username: "user",
password: "password"
)
};

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

var builder = new MongoUrlBuilder
{
AuthenticationMechanism = "GSSAPI",
AuthenticationMechanismProperties = new Dictionary<string, string>
{
{ "SERVICE_NAME", "other" },
{ "CANONICALIZE_HOST_NAME", "true" }
},
AuthenticationSource = "db"
};

Definições de configuração para o mecanismo de autenticação especificado na propriedade AuthenticationMechanism .

var builder = new MongoUrlBuilder
{
AuthenticationMechanism = "GSSAPI",
AuthenticationMechanismProperties = new Dictionary<string, string>
{
{ "SERVICE_NAME", "other" },
{ "CANONICALIZE_HOST_NAME", "true" }
},
AuthenticationSource = "db"
};

A origem contra a qual autenticar o cliente .

var builder = new MongoUrlBuilder
{
AuthenticationMechanism = "GSSAPI",
AuthenticationMechanismProperties = new Dictionary<string, string>
{
{ "SERVICE_NAME", "other" },
{ "CANONICALIZE_HOST_NAME", "true" }
},
AuthenticationSource = "db"
};

A senha a ser usada para autenticação.

var builder = new MongoUrlBuilder
{
Username = "user",
Password = "password"
};

O nome de usuário a ser usado para autenticação.

var builder = new MongoUrlBuilder
{
Username = "user",
Password = "password"
};

O intervalo entre verificações regulares de monitoramento do servidor. Deve ser maior ou igual a 500 milissegundos. O valor padrão é 10000 milésimos de segundo (10 segundos).

var settings = new MongoClientSettings
{
HeartbeatInterval = TimeSpan.FromSeconds(5)
};

O período de tempo em que um soquete de monitoramento pode ficar inativo antes de atingir o tempo limite. O valor padrão é o valor da propriedade ConnectTimeout .

var settings = new MongoClientSettings
{
HeartbeatTimeout = TimeSpan.FromSeconds(5)
};

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. O valor padrão é 15 milissegundos.

var settings = new MongoClientSettings
{
LocalThreshold = TimeSpan.FromSeconds(15)
};

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. O valor padrão é 15 milissegundos.

var settings = new MongoClientSettings
{
ServerSelectionTimeout = TimeSpan.FromSeconds(30)
};

O intervalo entre verificações regulares de monitoramento do servidor. Deve ser maior ou igual a 500 milissegundos. O valor padrão é 10000 milésimos de segundo (10 segundos).

var builder = new MongoUrlBuilder
{
HeartbeatInterval = TimeSpan.FromSeconds(5)
};

O período de tempo em que um soquete de monitoramento pode ficar inativo antes de atingir o tempo limite. O valor padrão é o valor da propriedade ConnectTimeout .

var builder = new MongoUrlBuilder
{
HeartbeatTimeout = TimeSpan.FromSeconds(5)
};

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. O valor padrão é 15 milissegundos.

var builder = new MongoUrlBuilder
{
LocalThreshold = TimeSpan.FromSeconds(15)
};

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. O valor padrão é 15 milissegundos.

var builder = new MongoUrlBuilder
{
ServerSelectionTimeout = TimeSpan.FromSeconds(30)
};

A codificação UTF-8 a ser usada para desserialização de string. O valor padrão é codificação estrita, em que o driver lança uma exceção quando encontra uma sequência de bytes UTF-8 inválida

var settings = new MongoClientSettings
{
ReadEncoding = new UTF8Encoding(
encoderShouldEmitUTF8Identifier: false,
throwOnInvalidBytes: true)
};

A codificação UTF-8 a ser usada para serialização de string. O valor padrão é codificação estrita, em que o driver lança uma exceção quando encontra uma sequência de bytes UTF-8 inválida

var settings = new MongoClientSettings
{
WriteEncoding = new UTF8Encoding(
encoderShouldEmitUTF8Identifier: false,
throwOnInvalidBytes: true)
};

Observação

Somente configurações do MongoClient

As propriedades ReadEncoding e WriteEncoding estão disponíveis somente na classe MongoClientSettings.

Permite optar pelo controle de versão da API estável. O valor padrão é null. Consulte API estável no manual do MongoDB Server para obter mais informações sobre o controle de versão da API estável.

var settings = new MongoClientSettings
{
ServerApi = new ServerApi(
ServerApiVersion.V1,
strict: true,
deprecationErrors: true),
};

Observação

Somente configurações do MongoClient

A propriedade ServerApi está disponível somente na classe MongoClientSettings.

Permite leituras que podem ser repetidas. O valor padrão é true.

var settings = new MongoClientSettings
{
RetryReads = false,
};

Habilita gravações que podem ser tentadas novamente. O valor padrão é true.

var settings = new MongoClientSettings
{
RetryWrites = false,
};

Permite leituras que podem ser repetidas. O valor padrão é true.

var builder = new MongoUrlBuilder
{
RetryReads = false,
};

Habilita gravações que podem ser tentadas novamente. O valor padrão é true.

var builder = new MongoUrlBuilder
{
RetryWrites = false,
};

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 registros do MongoDB quando a conexão é estabelecida. O valor também é registrado nos registros de consulta lentos e coleções de perfil. O valor padrão é null.

var settings = new MongoClientSettings
{
ApplicationName = "yourAppName",
};

Configurações para criptografia automática do lado do cliente . O valor padrão é null. Para saber mais sobre criptografia do lado do cliente, consulte criptografia em execução.

var settings = new MongoClientSettings
{
AutoEncryptionOptions = new AutoEncryptionOptions(
keyVaultNamespace: new CollectionNamespace(
databaseName: "keyvault",
collectionName: "datakeys"),
kmsProviders: new Dictionary<string, IReadOnlyDictionary<string, object>> ()
{
{ "local", new Dictionary<string, object> () { { "key", "<base64-encoded-key>" } } }
}
),
};

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

var settings = new MongoClientSettings
{
ClusterConfigurator = builder =>
{
builder
.Subscribe<ClusterOpenedEvent>(e =>
{
Console.WriteLine($"Cluster opened: Cluster ID = {e.ClusterId}");
})
.Subscribe<ClusterDescriptionChangedEvent>(e =>
{
Console.WriteLine($"Cluster description changed: {e.NewDescription}");
});
}
};

Especifica se o endereço de host está no formato IPv6. O valor padrão é false.

var settings = new MongoClientSettings
{
IPv6 = true,
};

Uma opção somente leitura que indica se as configurações foram congeladas. Você não pode alterar configurações congeladas. O valor padrão é false.

var settings = new MongoClientSettings();
if (!settings.IsFrozen)
{
settings.RetryReads = false;
}

Dica

Congelar configurações

Você pode congelar as configurações em um objeto MongoClientSettings chamando seu método Freeze(). Isso evita mais alterações nas configurações.

Como alternativa, você pode chamar o método FrozenCopy() para criar um novo objeto MongoClientSettings com as configurações atuais congeladas.

O nome e a versão de uma biblioteca personalizada criada no driver .NET/C#. O condutor envia estas informações para o servidor.

var settings = new MongoClientSettings
{
LibraryInfo = new LibraryInfo("customLibraryName", "1.0.0")
};

Especifica se o driver está se conectando a um balanceador de carga . Você pode definir esta propriedade como true somente se todas as seguintes condições forem atendidas:

  • 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

O valor padrão é false.

var settings = new MongoClientSettings
{
LoadBalanced = true,
};

As configurações usadas para registro.O valor padrão é null.

var settings = new MongoClientSettings
{
LoggingSettings = new LoggingSettings(
LoggerFactory.Create(l =>
l.SetMinimumLevel(LogLevel.Debug)))
};

Especifica se o formato de string de conexão padrão (MongoDB) ou o formato de lista de sementes DNS (MongoDBPlusSrv) deve ser usado. Os valores disponíveis para esta propriedade são definidos na enumeração ConnectionStringScheme. O valor padrão é ConnectionStringScheme.MongoDB. Consulte Connection strings no manual do MongoDB Server 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.

var settings = new MongoClientSettings
{
Scheme = ConnectionStringScheme.MongoDBPlusSrv,
};

O host e o número da porta onde o MongoDB está sendo executado. O valor padrão é localhost:27017.

var settings = new MongoClientSettings
{
Server = new MongoServerAddress("localhost", 27017)
};

Especifica o protocolo de monitoramento do servidor a ser usado. Os valores disponíveis para esta propriedade são definidos na enumeração ServerMonitoringMode. O valor padrão é Auto.

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.

var settings = new MongoClientSettings
{
ServerMonitoringMode = MongoDB.Driver.Core.Servers.ServerMonitoringMode.Stream
};

Os membros do cluster onde MongoDB está em execução. O valor padrão é localhost:27017.

var settings = new MongoClientSettings
{
Servers = new List<MongoServerAddress>()
{
new ("localhost", 27017),
new ("localhost", 27018)
}
};

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. O valor padrão é 0.

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

var settings = new MongoClientSettings
{
SrvMaxHosts = 5
};

O nome do serviço dos registros de recursos SRV que o driver recupera para construir sua lista de sementes. O driver utiliza o nome do serviço para criar o URI SRV, que corresponde ao seguinte formato:

_{srvServiceName}._tcp.{hostname}.{domainname}

Essa propriedade substitui o nome do serviço padrão para pesquisa de SRV na descoberta e na pesquisa. O valor padrão é "mongodb".

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

var settings = new MongoClientSettings
{
SrvServiceName = "yourServiceName"
};

Especifica opções, como a versão do MongoDB Server , para traduzir queries do LINQ para a API de query. O valor padrão é null.

var settings = new MongoClientSettings
{
TranslationOptions = new ExpressionTranslationOptions()
{
CompatibilityLevel = ServerVersion.Server80,
EnableClientSideProjections = true
}
};

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 registros do MongoDB quando a conexão é estabelecida. O valor também é registrado nos registros de consulta lentos e coleções de perfil. O valor padrão é null.

var builder = new MongoUrlBuilder
{
ApplicationName = "yourAppName",
};

O nome do banco de dados ao qual o cliente se conecta.

var builder = new MongoUrlBuilder
{
DatabaseName = "test_database"
};

Especifica se o endereço de host está no formato IPv6. O valor padrão é false.

var builder = new MongoUrlBuilder
{
IPv6 = true,
};

Especifica se o driver está se conectando a um balanceador de carga . Você pode definir esta propriedade como true somente se todas as seguintes condições forem atendidas:

  • 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

O valor padrão é false.

var builder = new MongoUrlBuilder
{
LoadBalanced = true,
};

Especifica se o formato de string de conexão padrão (MongoDB) ou o formato de lista de sementes DNS (MongoDBPlusSrv) deve ser usado. Os valores disponíveis para esta propriedade são definidos na enumeração ConnectionStringScheme. O valor padrão é ConnectionStringScheme.MongoDB. Consulte Connection strings no manual do MongoDB Server 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.

var builder = new MongoUrlBuilder
{
Scheme = ConnectionStringScheme.MongoDBPlusSrv,
};

O host e o número da porta onde o MongoDB está sendo executado. O valor padrão é localhost:27017.

var builder = new MongoUrlBuilder
{
Server = new MongoServerAddress("localhost", 27017)
};

Especifica o protocolo de monitoramento do servidor a ser usado. Os valores disponíveis para esta propriedade são definidos na enumeração ServerMonitoringMode. O valor padrão é Auto.

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.

var builder = new MongoUrlBuilder
{
ServerMonitoringMode = MongoDB.Driver.Core.Servers.ServerMonitoringMode.Stream
};

Os membros do cluster onde MongoDB está em execução. O valor padrão é localhost:27017.

var builder = new MongoUrlBuilder
{
Servers = new List<MongoServerAddress>()
{
new ("localhost", 27017),
new ("localhost", 27018)
}
};

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. O valor padrão é 0.

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

var builder = new MongoUrlBuilder
{
SrvMaxHosts = 5
};

O nome do serviço dos registros de recursos SRV que o driver recupera para construir sua lista de sementes. O driver utiliza o nome do serviço para criar o URI SRV, que corresponde ao seguinte formato:

_{srvServiceName}._tcp.{hostname}.{domainname}

Essa propriedade substitui o nome do serviço padrão para pesquisa de SRV na descoberta e na pesquisa. O valor padrão é "mongodb".

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

var builder = new MongoUrlBuilder
{
SrvServiceName = "yourServiceName"
};

Para obter mais informações sobre os tipos usados nesta página, consulte a seguinte documentação da API:

Voltar

Escolha um destino de conexão