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 disponíveis no driver C e explica como especificá-las para sua conexão do MongoDB usando uma opção de string de conexão ou URI.

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

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.

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:

  1. Crie uma estrutura mongoc_uri_t com sua string de conexão

  2. Use uma função de opção de URI para especificar a opção de conexão desejada

  3. 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);

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:

mongoc_uri_t *uri = mongoc_uri_new("mongodb://localhost:27017/?directConnection=true");

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

Tipo de Dados: char*

Valor padrão: NULL

Exemplo:

mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?replicaSet=yourReplicaSet");

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:

mongoc_uri_set_option_as_bool(uri, MONGOC_URI_DIRECTCONNECTION, true);

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

Tipo de Dados: char*

Valor padrão: NULL

Exemplo:

mongoc_uri_set_option_as_utf8(uri, MONGOC_URI_REPLICASET, "yourReplicaSet");

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.

Tipo de Dados: boolean

Valor padrão: false

Exemplo:

mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?tls=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.

Tipo de Dados: boolean

Valor padrão: false

Exemplo:

mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?tls=true&tlsInsecure=true");

Se a verificação de revogação de certificado deve ser desabilitada durante a negociação TLS.

Tipo de Dados: boolean

Valor padrão: false

Exemplo:

mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?tls=true&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.

Tipo de Dados: boolean

Valor padrão: false

Exemplo:

mongoc_uri_set_option_as_bool(uri, MONGOC_URI_TLS, 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.

Tipo de Dados: boolean

Valor padrão: false

Exemplo:

mongoc_uri_set_option_as_bool(uri, MONGOC_URI_TLSINSECURE, true);

Se a verificação de revogação de certificado deve ser desabilitada durante a negociação TLS.

Tipo de Dados: boolean

Valor padrão: false

Exemplo:

mongoc_uri_set_option_as_bool(uri, MONGOC_URI_TLSDISABLECERTIFICATEREVOCATIONCHECK, true);

Para obter mais informações sobre as opções de TLS, consulte o guia Configurar o TLS (Transport Layer Security).

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 (10 segundos)

Exemplo:

mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?connectTimeoutMS=60000");

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: 300000 (5 minutos)

Exemplo:

mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?socketTimeoutMS=60000");

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 (10 segundos)

Exemplo:

mongoc_uri_set_option_as_int32(uri, MONGOC_URI_CONNECTTIMEOUTMS, 60000);

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: 300000 (5 minutos)

Exemplo:

mongoc_uri_set_option_as_int32(uri, MONGOC_URI_SOCKETTIMEOUTMS, 60000);

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: char*

Valor padrão: NULL

Exemplo:

mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?compressors=zlib,snappy");

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: char*

Valor padrão: NULL

Exemplo:

mongoc_uri_set_option_as_utf8(uri, MONGOC_URI_COMPRESSORS, "zlib,snappy");

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

Valor padrão: 100

Exemplo:

mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?maxPoolSize=150");

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: integer

Valor padrão: -1 (sem tempo limite)

Exemplo:

mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?waitQueueTimeoutMS=30000");

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

Valor padrão: 100

Exemplo:

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);

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: integer

Valor padrão: 0

Exemplo:

mongoc_uri_set_option_as_int32(uri, MONGOC_URI_WAITQUEUETIMEOUTMS, 30000);

Para saber mais sobre pool de conexões, consulte o Guia de pool de conexões.

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.

Tipo de Dados: integer ou char*

Valor padrão: 1 ou "majority"

Exemplo:

mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?w=2");

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.

Tipo de Dados: integer

Valor padrão: 0

Exemplo:

mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?wTimeoutMS=5000");

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.

Tipo de Dados: boolean

Valor padrão: false

Para saber mais sobre a j opção, consulte Write Concern no manual do MongoDB Server .

Exemplo:

mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?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.

Tipo de Dados: integer ou char*

Valor padrão: 1 ou "majority"

Você pode definir w usando a opção MONGOC_URI_W:

Exemplo:

// 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);

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.

Tipo de Dados: integer

Valor padrão: 0

Você pode definir wtimeoutms usando a opção MONGOC_URI_WTIMEOUTMS:

Exemplo:

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);

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.

Tipo de Dados: boolean

Valor padrão: false

Você pode definir journal usando a opção MONGOC_URI_JOURNAL:

Exemplo:

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);

O nível de preocupação de leitura do cliente. Para obter mais informações, consulte a referência preocupação de leitura no manual do MongoDB Server.

Tipo de Dados: char*

Valor padrão: local

Exemplo:

mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?readConcernLevel=local");

O nível de preocupação de leitura do cliente. Para obter mais informações, consulte a referência preocupação de leitura no manual do MongoDB Server.

Tipo de Dados: char*

Valor padrão: local

Você pode definir o nível de preocupação de leitura usando a opção MONGOC_URI_READCONCERNLEVEL:

Exemplo:

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);

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: char*

Valor padrão: primary

Exemplo:

mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?readPreference=primaryPreferred");

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.

Tipo de Dados: integer

Valor padrão: -1

Exemplo:

mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?readPreference=secondary&maxStalenessSeconds=120");

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:

mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?localThresholdMS=150");

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: char*

Valor padrão: primary

Você pode definir a preferência de leitura usando uma estrutura mongoc_read_prefs_t:

Exemplo:

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")

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.

Tipo de Dados: integer

Valor padrão: -1

Exemplo:

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);

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:

mongoc_uri_set_option_as_int32(uri, MONGOC_URI_LOCALTHRESHOLDMS, 150);

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.

Para saber mais sobre os mecanismos de autenticação disponíveis, consulte o guia Mecanismos de autenticação ou Mecanismos de autenticação empresarial.

Tipo de Dados: char*

Valor padrão: SCRAM-SHA-256 (para MongoDB 7600 4.0 e posterior)

Exemplo:

mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?authSource=admin&authMechanism=GSSAPI");

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.

Para saber mais sobre os mecanismos de autenticação disponíveis, consulte o guia Mecanismos de autenticação ou Mecanismos de autenticação empresarial.

Tipo de Dados: char*

Valor padrão: SCRAM-SHA-256 (para MongoDB 7600 4.0 e posterior)

Exemplo:

mongoc_uri_set_auth_mechanism(uri, "GSSAPI");

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).

Tipo de Dados: integer

Valor padrão: 10000 para clientes em pool, 60000 para clientes em thread único

Exemplo:

mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?heartbeatFrequencyMS=5000");

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:

mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?serverSelectionTimeoutMS=40000");

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 um rápido "olá" ligue antes de ser usado novamente.

Tipo de Dados: integer

Valor padrão: 5000

Exemplo:

mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?socketCheckIntervalMS=10000");

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).

Tipo de Dados: integer

Valor padrão: 10000

Exemplo:

mongoc_uri_set_option_as_int32(uri, MONGOC_URI_HEARTBEATFREQUENCYMS, 5000);

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:

mongoc_uri_set_option_as_int32(uri, MONGOC_URI_SERVERSELECTIONTIMEOUTMS, 40000);

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 um rápido "olá" ligue antes de ser usado novamente.

Tipo de Dados: integer

Valor padrão: 5000

Exemplo:

mongoc_uri_set_option_as_int32(uri, MONGOC_URI_SOCKETCHECKINTERVALMS, 10000);

Permite leituras que podem ser repetidas.

Tipo de Dados: boolean

Valor padrão: true

Exemplo:

mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?retryReads=false");

Habilita gravações que podem ser tentadas novamente.

Tipo de Dados: boolean

Valor padrão: true com suporte de TLS, false caso contrário

Exemplo:

mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?retryWrites=false");

Permite leituras que podem ser repetidas.

Tipo de Dados: boolean

Valor padrão: true

Exemplo:

mongoc_uri_set_option_as_bool(uri, MONGOC_URI_RETRYREADS, false)

Habilita gravações que podem ser tentadas novamente.

Tipo de Dados: boolean

Valor padrão: true

Exemplo:

mongoc_uri_set_option_as_bool(uri, MONGOC_URI_RETRYWRITES, false);

Observação

Redução de carga no Intelligent Workload Management (IWM)

Se os erros com rótulos SystemOverloadedError ou RetryableError estiverem causando falhas no seu aplicação ou aparecendo nos registros do seu aplicação , a redução de carga pode estar ativa no seu cluster e seu driver pode não estar atualizado para uma versão compatível. Recomendamos atualizar seu driver MongoDB C para a versão 2.3 ou posterior. Se você continuar a ver esses erros após a atualização, poderá resolvê-los por meio de alterações no servidor, como a revisão da configuração do Descarte de carga, ou por meio de alterações no aplicativo, como a implementação de um tratamento personalizado de erros ou a limitação de solicitações do lado do cliente . Dependendo da sua situação, alterações no aplicativo podem ser preferíveis ou necessárias.

O descarte de carga é um recurso do IWM e ajuda a gerenciar a carga do servidor rejeitando operações em excesso durante a sobrecarga sustentada. Este recurso está disponível no MongoDB 9.0 e posterior.

Para obter mais informações sobre IWM ou lidar com erros de sobrecarga, consulte a página Gerenciamento Inteligente de Volume de Trabalho ou a página Erros de Sobrecarga na documentação do Atlas .

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 uma vez que a conexão é estabelecida. O valor também é registrado nos logs de query lentos e nas coleções de perfil.

Tipo de Dados: char*

Valor padrão: vazio

Exemplo:

mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?appName=yourAppName");

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

Tipo de Dados: boolean

Valor padrão: false

Exemplo:

mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?loadBalanced=true");

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 cadeia 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: integer

Valor padrão: 0

Exemplo:

mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?srvMaxHosts=5");

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 uma vez que a conexão é estabelecida. O valor também é registrado nos logs de query lentos e nas coleções de perfil.

Tipo de Dados: char*

Valor padrão: empty

Exemplo:

mongoc_uri_set_option_as_utf8(uri, MONGOC_URI_APPNAME, "yourAppName");

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

Tipo de Dados: boolean

Valor padrão: false

Exemplo:

mongoc_uri_set_option_as_bool(uri, MONGOC_URI_LOADBALANCED, true);

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 cadeia 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: integer

Valor padrão: 0

Exemplo:

mongoc_uri_set_option_as_int32(uri, MONGOC_URI_SRVMAXHOSTS, 5);

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