Menu Docs
Página inicial do Docs
/ / /
Driver C

Conecte-se ao MongoDB

Nesta página

  • Visão geral
  • Aplicativo de amostra
  • Conexão
  • Sistemas locais
  • Atlas
  • Conjunto de réplicas
  • Segurança da camada de transporte (TLS)
  • Habilitar TLS
  • Desativar verificação de nome de host
  • Compactação de rede
  • Algoritmos de compressão
  • zlibNível de compactação
  • Seleção do Servidor
  • Stable API

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.

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:

  1. Verifique se o driver C está instalado.

  2. Copie o seguinte código e cole-o em um novo arquivo .c .

  3. Copie um exemplo de código desta página e cole-o nas linhas especificadas no arquivo.

1#include <mongoc/mongoc.h>
2#include <bson/bson.h>
3
4int 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}

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.

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.

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.

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.

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

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.

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.

As seções a seguir descrevem como se conectar ao MongoDB enquanto especifica algoritmos de compressão de rede.

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

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

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

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.

Voltar

Próximos passos