Visão geral
Esta página descreve as opções de conexão disponíveis no driver C e explica como aplicá-las à sua conexão MongoDB .
Como especificar opções de conexão
As seções a seguir descrevem maneiras de especificar opções de conexão.
Use a connection string
Se você passar uma string de conexão para a estrutura monogoc_client_t, poderá incluir opções de conexão na string como <name>=<value> pares. No exemplo a seguir, a string de conexão contém a opção connectTimeoutMS com um valor de 60000 e a opção tls com um valor de true:
mongoc_init(); // Specifies the connection options in the connection string const char *uri = "mongodb+srv://localhost:27017/?connectTimeoutMS=60000&tls=true"; // Creates a new client mongoc_client_t *client = mongoc_client_new_from_uri_with_error(uri, &error); if (!client) { fprintf(stderr, "%s\n", error.message); goto cleanup; } // Use client... cleanup: mongoc_client_destroy(client); mongoc_uri_destroy(uri);
Para saber mais sobre as opções que você pode especificar em uma string de conexão, consulte Opções de string de conexão no manual do MongoDB Server .
Usar a API de opções de URI
Você pode usar opções de URI para definir as configurações de conexão no código em vez de em uma string de conexão. Configurar a conexão dessa forma facilita a alteração das configurações no tempo de execução, ajuda a detectar erros durante a compilação e fornece mais opções de configuração do que a string de conexão.
Para definir opções de conexão usando a opção URI, execute as seguintes etapas:
Crie uma estrutura
mongoc_uri_tcom sua string de conexãoUse uma função de opção de URI para especificar a opção de conexão desejada
Crie um novo cliente com o URI passando o URI para
mongoc_client_new_from_uri()
O seguinte exemplo de código mostra como executar as etapas anteriores:
mongoc_uri_t *uri = mongoc_uri_new_with_error("mongodb+srv://localhost:27017/", &error); if (!uri) { fprintf(stderr, "%s\n", error.message); goto cleanup; } // Specifies the connection options by using the URI options API if (!mongoc_uri_set_option_as_int32(uri, MONGOC_URI_CONNECTTIMEOUTMS, 60000)) { fprintf(stderr, "Failed to set '%s'\n", MONGOC_URI_CONNECTTIMEOUTMS); goto cleanup; } if (!mongoc_uri_set_option_as_bool(uri, MONGOC_URI_TLS, true)) { fprintf(stderr, "Failed to set '%s'\n", MONGOC_URI_TLS); goto cleanup; } // Creates a new client client = mongoc_client_new_from_uri_with_error(uri, &error); if (!client) { fprintf(stderr, "%s\n", error.message); goto cleanup; } // Use client... cleanup: mongoc_client_destroy(client); mongoc_uri_destroy(uri);
Opções de conexão
As seções a seguir descrevem as opções de conexão disponíveis no driver C e como especificá-las usando uma string de conexão diretamente ou uma opção de URI.
Opções de conjunto de réplicas
Conexão direta
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 SRV. Em vez disso, você deve usar o formato URI de conexão padrão. Para saber mais sobre a conexão SRV e os formatos de conexão padrão, consulte o guia Connection Strings.
O valor padrão é false. Esta propriedade deve ser configurada para false se você especificar mais de um nome de host.
mongoc_uri_t *uri = mongoc_uri_new("mongodb://localhost:27017/?directConnection=true");
Conjunto de réplicas
O nome do conjunto de réplicas a que se conectar. O valor padrão é null.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?replicaSet=yourReplicaSet");
Conexão direta
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 SRV. Em vez disso, você deve usar o formato URI de conexão padrão. Para saber mais sobre a conexão SRV e os formatos de conexão padrão, consulte o guia Connection Strings.
O valor padrão é false. Esta propriedade deve ser configurada para false se você especificar mais de um nome de host.
mongoc_uri_set_option_as_bool(uri, MONGOC_URI_DIRECTCONNECTION, true);
Conjunto de réplicas
O nome do conjunto de réplicas a que se conectar. O valor padrão é null.
mongoc_uri_set_option_as_utf8(uri, MONGOC_URI_REPLICASET, "yourReplicaSet");
Opções de TLS
Habilitar 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, essa opção será padronizada como true. Caso contrário, o padrão é false.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?tls=true");
Permitir TLS Inseguro
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.
O seguinte exemplo de código mostra como definir esta opção para true:
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?tls=true&tlsAllowInvalidCertificates=true");
Verificação de revogação de certificado de desativação do TLS
Se a verificação de revogação de certificado deve ser desabilitada durante a negociação TLS. O valor padrão é false.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?tls=true&tlsDisableCertificateRevocationCheck=true");
Opções SSL
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.
Essa opção só pode ser definida usando Opções de URI. Para saber como definir opções de SSL, consulte a seção Opções de SSL na aba MongoC URI Option.
Habilitar 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, essa opção será padronizada como true. Caso contrário, o padrão é false.
mongoc_uri_set_option_as_bool(uri, MONGOC_URI_TLS, true);
Permitir TLS Inseguro
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.
O seguinte exemplo de código mostra como definir esta opção para true:
mongoc_uri_set_option_as_bool(uri, MONGOC_URI_TLSINSECURE, true);
Verificação de revogação de certificado de desativação do TLS
Se a verificação de revogação de certificado deve ser desabilitada durante a negociação TLS. O valor padrão é false.
mongoc_uri_set_option_as_bool(uri, MONGOC_URI_TLSDISABLECERTIFICATEREVOCATIONCHECK, true);
Opções SSL
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 C lançará uma exceção.
mongoc_client_t *client; mongoc_ssl_opt_t ssl_opts = {0}; ssl_opts.pem_file = "/path/to/client-cert.pem"; ssl_opts.pem_pwd = "password"; ssl_opts.ca_file = "/path/to/ca.pem"; ssl_opts.allow_invalid_hostname = false; mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?tls=true"); client = mongoc_client_new_from_uri(uri); mongoc_client_set_ssl_opts(client, &ssl_opts);
Para obter mais informações sobre as opções de TLS, consulte o guia Configurar o TLS (Transport Layer Security).
Opções de tempo limite
Tempo limite de conexão
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 é 10 segundos.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?connectTimeoutMS=60000");
Tempo limite do soquete
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.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?socketTimeoutMS=60000");
Tempo limite de conexão
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 é 10 segundos.
mongoc_uri_set_option_as_int32(uri, MONGOC_URI_CONNECTTIMEOUTMS, 60000);
Tempo limite do soquete
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.
mongoc_uri_set_option_as_int32(uri, MONGOC_URI_SOCKETTIMEOUTMS, 60000);
Opções de compressão
Compressores
Os tipos de compactação preferidos, em ordem, para mensagens de protocolo de transmissão enviadas ou recebidas do servidor. Você pode ativar "snappy", "zlib" e "zstd" como dependências de tempo de compilação opcionais. O driver usa o primeiro desses tipos de compactação que o servidor suporta. O valor padrão está vazio.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?compressors=zlib,snappy");
Compressores
Os tipos de compactação preferidos, em ordem, para mensagens de protocolo de transmissão enviadas ou recebidas do servidor. Você pode ativar "snappy", "zlib" e "zstd" como dependências de tempo de compilação opcionais. O driver usa o primeiro desses tipos de compactação que o servidor suporta. O valor padrão está vazio.
mongoc_uri_set_option_as_utf8(uri, MONGOC_URI_COMPRESSORS, "zlib,snappy");
Opções do pool de conexões
Tamanho máximo da pool
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.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?maxPoolSize=150");
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.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?waitQueueTimeoutMS=30000");
Tamanho máximo do pool de conexões
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.
mongoc_uri_set_option_as_int32(uri, MONGOC_URI_MAXPOOLSIZE, 150)
Você também pode definir o tamanho máximo do pool de conexões usando uma estrutura mongoc_client_pool_t:
mongoc_client_pool_t *pool = mongoc_client_pool_new(uri); // Specifies max pool size mongoc_client_pool_max_size(pool, 150);
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.
mongoc_uri_set_option_as_int32(uri, MONGOC_URI_WAITQUEUETIMEOUTMS, 30000);
Para saber mais sobre pools de conexões, consulte o guia Pools de conexões.
Opções de write concern
w
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.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?w=2");
tempo esgotado
O componente wtimeoutms 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.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?wTimeoutMS=5000");
Journal
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.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?journal=true");
w
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.
Você pode definir w usando a opção MONGOC_URI_W:
// Use the int32 version of the mongoc_uri_t set function to set integer values mongoc_uri_set_option_as_int32(uri, MONGOC_URI_W, 2); // Use the utf8 version of the mongoc_uri_t set function to set string values mongoc_uri_set_option_as_utf8(uri, MONGOC_URI_W, "majority");
Você também pode definir w usando uma estrutura mongoc_write_concern_t:
// Creates a write concern structure mongoc_write_concern_t *write_concern = mongoc_write_concern_new(); // Sets w=2 mongoc_write_concern_set_w(write_concern, 2); mongoc_client_set_write_concern(client, write_concern);
tempo esgotado
O componente wtimeoutms 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.
Você pode definir wtimeoutms usando a opção MONGOC_URI_WTIMEOUTMS:
mongoc_uri_set_option_as_int32(uri, MONGOC_URI_WTIMEOUTMS, 5000);
Você também pode definir wtimeoutms usando uma estrutura mongoc_write_concern_t:
// Creates a write concern structure mongoc_write_concern_t *write_concern = mongoc_write_concern_new(); // Sets w=2 mongoc_write_concern_set_wtimeout(write_concern, 5000); // Apply write concern to client mongoc_client_set_write_concern(client, write_concern);
Journal
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.
Você pode definir journal usando a opção MONGOC_URI_JOURNAL:
mongoc_uri_set_option_as_bool(uri, MONGOC_URI_JOURNAL, true);
Você também pode definir journal usando uma estrutura mongoc_write_concern_t:
// Creates a write concern structure mongoc_write_concern_t *write_concern = mongoc_write_concern_new(); // Sets journal to true mongoc_write_concern_set_journal(write_concern, true); // Apply write concern to client mongoc_client_set_write_concern(client, write_concern);
Opções de read concern
Nível de read concern
O nível de preocupação de leitura do cliente. Para obter mais informações, consulte a referência Read Concern no manual do MongoDB Server .
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?readConcernLevel=local");
Nível de read concern
O nível de preocupação de leitura do cliente. Para obter mais informações, consulte a referência Read Concern no manual do MongoDB Server .
Você pode definir o nível de preocupação de leitura usando a opção MONGOC_URI_READCONCERNLEVEL:
mongoc_uri_set_option_as_utf8(uri, MONGOC_URI_READCONCERNLEVEL, "local")
Você também pode definir o nível de preocupação de leitura usando uma estrutura mongoc_read_concern_t:
mongoc_read_concern_t *read_concern = mongoc_read_concern_new(); // Set the read concern level to "local" mongoc_read_concern_set_level(read_concern, MONGOC_READ_CONCERN_LEVEL_LOCAL); mongoc_client_set_read_concern(client, read_concern);
Opções de read preference
readPreference
As configurações de preferência de leitura padrão do cliente. O valor padrão é. Consulte primary Preferências de leitura no manual do MongoDB Server para obter mais informações.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?readPreference=primaryPreferred");
Estabilidade máxima
Máximo de segundos de atraso 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 menor valor permitido para maxStalenessSeconds é 90 segundos. Esta opção deve ser usada com uma preferência de leitura não primária.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?readPreference=secondary&maxStalenessSeconds=120");
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. O valor padrão é 15 milissegundos.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?localThresholdMS=150");
readPreference
As configurações de preferência de leitura padrão do cliente. O valor padrão é. Consulte primary Preferências de leitura no manual do MongoDB Server para obter mais informações.
Você pode definir a preferência de leitura usando uma estrutura mongoc_read_prefs_t:
mongoc_client_t *client = mongoc_client_new("mongodb+srv://localhost:27017/"); // Specifies the read preference mongoc_read_prefs_t *read_prefs = mongoc_read_prefs_new(MONGOC_READ_PRIMARY_PREFERRED); mongoc_client_set_read_prefs(client, read_prefs);
Você também pode definir a preferência de leitura usando a opção MONGOC_URI_READPREFERENCE:
mongoc_uri_set_option_as_utf8(uri, MONGOC_URI_READPREFERENCE, "primaryPreferred")
Estabilidade máxima
Máximo de segundos de atraso 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 menor valor permitido para maxStalenessSeconds é 90 segundos. Esta opção deve ser usada com uma preferência de leitura não primária.
Você pode definir a desatualização máxima usando a opção MONGOC_URI_MAXSTALENESSSECONDS:
mongoc_uri_set_option_as_int32(uri, MONGOC_URI_MAXSTALENESSSECONDS, 120);
Você também pode definir a desatualização máxima usando uma estrutura mongoc_read_prefs_t:
mongoc_client_t *client = mongoc_client_new("mongodb+srv://localhost:27017/"); mongoc_read_prefs_t *read_prefs = mongoc_read_prefs_new(MONGOC_READ_SECONDARY); // Specifies max staleness to 120 seconds mongoc_read_prefs_set_max_staleness_seconds(read_prefs, 120); mongoc_client_set_read_prefs(client, read_prefs);
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. O valor padrão é 15 milissegundos.
mongoc_uri_set_option_as_int32(uri, MONGOC_URI_LOCALTHRESHOLDMS, 150);
Opções de autenticação
Mecanismo 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 SCRAM-SHA-256ou, dependendo da versão do servidor . Para saber mais sobre os mecanismos de autenticação disponíveis, consulte o guia Mecanismos de autenticação ou Mecanismos de autenticação empresarial.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?authSource=admin&authMechanism=GSSAPI");
Mecanismo 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 SCRAM-SHA-256ou, dependendo da versão do servidor . Para saber mais sobre os mecanismos de autenticação disponíveis, consulte o guia Mecanismos de autenticação ou Mecanismos de autenticação empresarial.
mongoc_uri_set_auth_mechanism(uri, "GSSAPI");
Seleção de servidor e opções de descoberta
Frequência de batimentos cardíacos
O intervalo entre as verificações de monitoramento do servidor . Deve ser maior ou igual a 500 milissegundos. O valor padrão é 10000 ms (10 segundos) no modo agrupado (multithreaded) e 60000 ms (60 segundos) no modo não agrupado (single-threaded).
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?heartbeatFrequencyMS=5000");
Tempo limite de seleção do servidor
O período de tempo em que o driver tenta selecionar um servidor antes de atingir o tempo limite. O valor padrão é 30000 ms (30 segundos).
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?serverSelectionTimeoutMS=40000");
Intervalo de verificação do soquete
Aplica-se apenas a clientes de thread único. Se um soquete não tiver sido usado dentro desse período, o driver verificará a conexão com uma rápida chamada de "olá" antes de ser usado novamente. O padrão é 5000 ms (5 segundos).
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?socketCheckIntervalMS=10000");
Frequência de batimentos cardíacos
O intervalo entre as verificações de monitoramento do servidor . Deve ser maior ou igual a 500 milissegundos. O valor padrão é 10000 ms (10 segundos) no modo agrupado (multithreaded) e 60000 ms (60 segundos) no modo não agrupado (single-threaded).
mongoc_uri_set_option_as_int32(uri, MONGOC_URI_HEARTBEATFREQUENCYMS, 5000);
Tempo limite de seleção do servidor
O período de tempo em que o driver tenta selecionar um servidor antes de atingir o tempo limite. O valor padrão é 30000 ms (30 segundos).
mongoc_uri_set_option_as_int32(uri, MONGOC_URI_SERVERSELECTIONTIMEOUTMS, 40000);
Intervalo de verificação do soquete
Aplica-se apenas a clientes de thread único. Se um soquete não tiver sido usado dentro desse período, o driver verificará a conexão com uma rápida chamada de "olá" antes de ser usado novamente. O padrão é 5000 ms (5 segundos).
mongoc_uri_set_option_as_int32(uri, MONGOC_URI_SOCKETCHECKINTERVALMS, 10000);
Opções de repetição
Repetir leituras
Permite leituras que podem ser repetidas. O valor padrão é true.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?retryReads=false");
Repetir gravações
Habilita gravações que podem ser tentadas novamente. O valor padrão é true.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?retryWrites=false");
Repetir leituras
Permite leituras que podem ser repetidas. O valor padrão é true.
mongoc_uri_set_option_as_bool(uri, MONGOC_URI_RETRYREADS, false)
Repetir gravações
Habilita gravações que podem ser tentadas novamente. O valor padrão é true.
mongoc_uri_set_option_as_bool(uri, MONGOC_URI_RETRYWRITES, false);
Opções diversas
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 registros do MongoDB assim que estabelece a conexão. O valor também é registrado nos registros de consulta lentos e coleções de perfil. O valor padrão está vazio.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?appName=yourAppName");
Carga balanceada
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
SrvMaxHostsVocê não está usando a propriedade
DirectConnection
O valor padrão é false.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?loadBalanced=true");
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. 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.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?srvMaxHosts=5");
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 registros do MongoDB assim que estabelece a conexão. O valor também é registrado nos registros de consulta lentos e coleções de perfil. O valor padrão está vazio.
mongoc_uri_set_option_as_utf8(uri, MONGOC_URI_APPNAME, "yourAppName");
Carga balanceada
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
SrvMaxHostsVocê não está usando a propriedade
DirectConnection
O valor padrão é false.
mongoc_uri_set_option_as_bool(uri, MONGOC_URI_LOADBALANCED, true);
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. 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.
mongoc_uri_set_option_as_int32(uri, MONGOC_URI_SRVMAXHOSTS, 5);
Informações adicionais
Para obter mais informações sobre os tipos usados nesta página, consulte a seguinte documentação da API: