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

Criar um MongoClient

Nesta página

  • Visão geral
  • URI de conexão
  • Exemplo de conexão do Atlas
  • Documentação da API

Para se conectar a um MongoDB deployment, você precisa de duas coisas:

  • Um URI de conexão , também conhecido como string de conexão , que informa ao driver C a qual sistema do MongoDB se conectar.

  • Uma estrutura mongoc_client_t, que cria a conexão e executa operações no sistema MongoDB .

Este guia mostra como criar uma string de conexão e utilizar uma estrutura mongoc_client_t para conectar ao MongoDB.

Uma connection string padrão inclui os seguintes componentes:

Componente
Descrição

mongodb+srv://

Obrigatório. Um prefixo que identifica isso como uma string no formato de conexão SRV.

username:password

Opcional. Credenciais de autenticação. Se você incluir estes, o cliente autenticará o usuário no banco de banco de dados especificado authSource no. Para obter mais informações sobre a authSource opção de conexão, consulte o guia Mecanismos de autenticação .

host[:port]

Obrigatório. O host e o número da porta opcional em que o MongoDB está sendo executado. Se você não incluir o número da porta, o driver usará a porta padrão, 27017.

/defaultauthdb

Opcional. O authentication database de autenticação a ser usado se a connection string incluir as credenciais de autenticação username:password@ , mas não a opção authSource . Se você não incluir este componente, o cliente autenticará o usuário no banco de dados do admin .

?<options>

Opcional. Uma string da query que especifica opções específicas de conexão como <name>=<value> pares.

Para obter mais informações sobre a criação de uma connection string, consulte connection strings na documentação do MongoDB Server .

Para se conectar a uma implementação do MongoDB no Atlas, você deve primeiro criar um cliente.

Você pode passar um URI de conexão como uma string para a função mongoc_client_new() para se conectar a uma instância MongoDB :

// Initialize the C Driver
mongoc_init ();
// Create a new client and connect to the server
mongoc_client_t *client = mongoc_client_new ("mongodb+srv://<db_username>:<db_password>@<hostname:port>/?<options>");
mongoc_database_t *database = mongoc_client_get_database (client, "admin");
bson_t *ping = BCON_NEW ("ping", BCON_INT32 (1));
bson_t reply = BSON_INITIALIZER;
bson_error_t error;
// Send a ping to confirm a successful connection
if (!mongoc_client_command_simple (client, "admin", ping, NULL, &reply, &error)) {
fprintf(stderr, "error: %s\n", error.message);
goto cleanup;
}
printf ("Pinged your deployment. You successfully connected to MongoDB!\n");
cleanup:
bson_destroy (&reply);
bson_destroy (ping);
mongoc_database_destroy (database);
mongoc_client_destroy (client);
// Cleanup the C Driver
mongoc_cleanup ();

Você pode definir a opção de cliente da versão Stable API para evitar alterações significativas ao atualizar para uma nova versão do servidor .

Dica

Para saber mais sobre o recurso de Stable API, consulte o guia da Stable API.

O código a seguir mostra como você pode especificar a cadeia de conexão e a opção de cliente Stable API ao se conectar a uma implementação do MongoDB no Atlas e verificar se a conexão foi bem-sucedida:

// Intialize the MongoDB C Driver
mongoc_init();
// Create a new client and connect to the server
mongoc_client_t *client = mongoc_client_new ("mongodb+srv://<db_username>:<db_password>@<hostname:port>/?<options>");
// Set the version of the Stable API on the client
mongoc_server_api_t *api = mongoc_server_api_new(MONGOC_SERVER_API_V1);
bson_t *ping = BCON_NEW ("ping", BCON_INT32 (1));
bson_t reply = BSON_INITIALIZER;
bson_error_t error;
if (!mongoc_client_set_server_api (client, api, &error)) {
fprintf(stderr, "error: %s\n", error.message);
goto cleanup;
}
// Send a ping to confirm a successful connection
if (!mongoc_client_command_simple (client, "admin", ping, NULL, &reply, &error)) {
fprintf(stderr, "error: %s\n", error.message);
goto cleanup;
}
printf ("Pinged your deployment. You successfully connected to MongoDB!\n");
cleanup:
bson_destroy (&reply);
bson_destroy (ping);
mongoc_server_api_destroy (api);
mongoc_client_destroy (client);
// Cleanup the C Driver
mongoc_cleanup ();

Para obter mais informações sobre a mongoc_client_t estrutura, consulte a documentação API.

Voltar

Conecte-se ao MongoDB