Conecte-se ao MongoDB
Nesta página
Visão geral
Esta página contém exemplos de código que mostram como usar o driver C para conectar seu aplicação ao MongoDB especificando várias configurações.
Dica
Opções de conexão
Para saber mais sobre as opções de conexão nesta página, consulte o link fornecido em cada seção.
Para usar um exemplo de conexão desta página, copie o exemplo de código noaplicativo de amostra ou em seu próprio aplicativo. Certifique-se de substituir todos os espaços reservados nos exemplos de código, como <hostname>
, pelos valores relevantes para sua implantação do MongoDB.
Aplicativo de amostra
Você pode usar o seguinte aplicativo de exemplo para testar os exemplos de código nesta página. Para usar o aplicativo de amostra, execute as seguintes etapas:
Verifique se o driver C está instalado.
Copie o seguinte código e cole-o em um novo arquivo
.c
.Copie um exemplo de código desta página e cole-o nas linhas especificadas no arquivo.
1 2 3 4 int main(void) { 5 6 mongoc_uri_t* uri = NULL; 7 mongoc_client_t *client = NULL; 8 mongoc_database_t *database = NULL; 9 bson_t *ping = NULL, reply = BSON_INITIALIZER; 10 bson_error_t error; 11 12 mongoc_init(); 13 14 // Start example code here 15 16 // End example code here 17 18 database = mongoc_client_get_database (client, "admin"); 19 20 ping = BCON_NEW ("ping", BCON_INT32 (1)); 21 22 if (!mongoc_client_command_simple (client, "admin", ping, NULL, &reply, &error)) { 23 fprintf (stderr, "%s\n", error.message); 24 goto cleanup; 25 } 26 printf ("Pinged your deployment. You successfully connected to MongoDB!\n"); 27 28 cleanup: 29 bson_destroy (&reply); 30 bson_destroy (ping); 31 mongoc_database_destroy (database); 32 mongoc_client_destroy (client); 33 mongoc_uri_destroy (uri); 34 mongoc_cleanup (); 35 }
Conexão
As seções a seguir descrevem como se conectar a diferentes destinos, como uma instância local do MongoDB ou uma instância hospedada na nuvem no Atlas.
Sistemas locais
O código a seguir mostra a string de conexão de conexão para se conectar a uma instância local do MongoDB:
client = mongoc_client_new ("mongodb://localhost:27017");
Para saber mais sobre como se conectar a sistemas locais, consulte Sistemas locais no guia Escolher um destino de conexão.
Atlas
O seguinte código mostra a string de conexão de conexão para conectar a uma implantação hospedada no Atlas:
client = mongoc_client_new ("mongodb+srv://<db_username>:<db_password>@<hostname>/?<options>");
Para saber mais sobre como se conectar ao Atlas, consulte Atlas no guia Escolha um destino de conexão.
Conjunto de réplicas
O seguinte código mostra a string de conexão de conexão para conectar a um conjunto de réplica:
client = mongoc_client_new ("mongodb+srv://<replica-set-member>/?replicaSet=<replica_set_name>");
Para saber mais sobre como se conectar a conjuntos de réplicas, consulte Conjuntos de réplicas no guia Escolher um destino de conexão.
Segurança da camada de transporte (TLS)
As seções a seguir descrevem como se conectar ao MongoDB enquanto habilita o protocolo TLS.
Para saber mais sobre como usar o TLS com o driver C, consulte Configurar o TLS (Transport Layer Security).
Habilitar TLS
As seguintes guias demonstram como habilitar o TLS em uma conexão:
client = mongoc_client_new("mongodb://<db_username>:<db_password>@<hostname>/?tls=true");
uri = mongoc_uri_new ("mongodb://localhost:27017"); mongoc_uri_set_option_as_bool (uri, MONGOC_URI_TLS, true); client = mongoc_client_new_from_uri (uri);
Para saber mais sobre como habilitar o TLS, consulte Habilitar TLS no guia de configuração do TLS.
Desativar verificação de nome de host
As guias a seguir demonstram como desabilitar a verificação do nome do host ao se conectar usando o TLS:
client = mongoc_client_new("mongodb://<db_username>:<db_password>@<hostname>/?tls=true&tlsAllowInvalidHostnames=true");
uri = mongoc_uri_new ("mongodb://localhost:27017"); mongoc_uri_set_option_as_bool (uri, MONGOC_URI_TLS, true); mongoc_uri_set_option_as_bool (uri, MONGOC_URI_TLSALLOWINVALIDHOSTNAMES, true); client = mongoc_client_new_from_uri (uri);
Para saber mais sobre como desativar a verificação de nome de host, consulte Verificação de certificado de servidor no guia de configuração TLS.
Compactação de rede
As seções a seguir descrevem como se conectar ao MongoDB enquanto especifica algoritmos de compressão de rede.
Algoritmos de compressão
As seguintes guias demonstram como especificar todos os compressores disponíveis durante a conexão ao MongoDB:
client = mongoc_client_new("mongodb://<db_username>:<db_password>@<hostname>/?compressors=snappy,zlib,zstd");
uri = mongoc_uri_new ("mongodb://localhost:27017"); mongoc_uri_set_compressors (uri, "snappy,zlib,zstd"); client = mongoc_client_new_from_uri (uri);
zlibNível de compactação
As seguintes guias demonstram como especificar um nível de compressão para o compressor zlib
:
client = mongoc_client_new("mongodb://<db_username>:<db_password>@<hostname>/?compressors=zlib&zlibCompressionLevel=<zlib_compression_level");
uri = mongoc_uri_new ("mongodb://localhost:27017"); mongoc_uri_set_option_as_int32 (uri, MONGOC_URI_ZLIBCOMPRESSIONLEVEL, <zlib-compression-level>); client = mongoc_client_new_from_uri (uri);
Seleção do Servidor
O seguinte código mostra uma string de conexão que especifica uma função de seleção de servidor :
client = mongoc_client_new("mongodb://<db_username>:<db_password>@<hostname>/?server_selector=<selector_function>");
Stable API
O seguinte código mostra como especificar as configurações da Stable API em uma instância do mongoc_client_t
:
client = mongoc_client_new ("mongodb+srv://<db_username>:<db_password>@<hostname>/?<options>"); // Set the version of the Stable API on the client mongoc_server_api_t *api = mongoc_server_api_new(MONGOC_SERVER_API_V1); mongoc_client_set_server_api(client, api, &error); // Do database work here mongoc_server_api_destroy (api);
Para saber mais sobre a stable API, consulte stable API.