Menu Docs
Página inicial do Docs
/ /

Driver MongoDB C

Nesta página

  • Introdução
  • Ligar ao MongoDB Atlas
  • Conecte-se ao Atlas MongoDB sem a API estável
  • Compatibilidade

Bem-vindo ao site de documentação do driver C oficial da MongoDB. Você pode adicionar o driver ao seu aplicativo para trabalhar com o MongoDB em C. Faça o download das bibliotecas necessárias, libmongoc e libbson, seguindo as instruções Obter as bibliotecas de drivers do MongoDB C ou definir um projeto executável seguindo nosso tutorial.

  • Tutorial

  • Guia de uso

  • Centro de desenvolvedores MongoDB

  • Referência da API

  • Registro de alterações

  • código fonte

  • Exemplos

  • Exemplos adicionais de BSON

Você pode utilizar o seguinte trecho de conexão para testar sua conexão com seu MongoDB deployment no Atlas:

#include <mongoc/mongoc.h>
int main(void) {
mongoc_client_t *client = NULL;
bson_error_t error = {0};
mongoc_server_api_t *api = NULL;
mongoc_database_t *database = NULL;
bson_t *command = NULL;
bson_t reply = BSON_INITIALIZER;
int rc = 0;
bool ok = true;
// Initialize the MongoDB C Driver.
mongoc_init();
client = mongoc_client_new("<connection string>");
if (!client) {
fprintf(stderr, "Failed to create a MongoDB client.\n");
rc = 1;
goto cleanup;
}
// Set the version of the Stable API on the client.
api = mongoc_server_api_new(MONGOC_SERVER_API_V1);
if (!api) {
fprintf(stderr, "Failed to create a MongoDB server API.\n");
rc = 1;
goto cleanup;
}
ok = mongoc_client_set_server_api(client, api, &error);
if (!ok) {
fprintf(stderr, "error: %s\n", error.message);
rc = 1;
goto cleanup;
}
// Get a handle on the "admin" database.
database = mongoc_client_get_database(client, "admin");
if (!database) {
fprintf(stderr, "Failed to get a MongoDB database handle.\n");
rc = 1;
goto cleanup;
}
// Ping the database.
command = BCON_NEW("ping", BCON_INT32(1));
ok = mongoc_database_command_simple(
database, command, NULL, &reply, &error
);
if (!ok) {
fprintf(stderr, "error: %s\n", error.message);
rc = 1;
goto cleanup;
}
bson_destroy(&reply);
printf("Pinged your deployment. You successfully connected to MongoDB!\n");
// Perform cleanup.
cleanup:
bson_destroy(command);
mongoc_database_destroy(database);
mongoc_server_api_destroy(api);
mongoc_client_destroy(client);
mongoc_cleanup();
return rc;
}

Este trecho de conexão usa a funcionalidade stable API . Você pode acessar esse recurso ao se conectar ao MongoDB Server v5.0 e posterior e usar o driver C v1.18 e posterior.

Ao usar esse recurso, você pode atualizar seu driver ou servidor sem se preocupar com problemas de compatibilidade com versões anteriores de qualquer comando coberto pela API estável.

Observação

A partir de fevereiro de 2022, a API versionada é conhecida como API estável. Todos os conceitos e recursos permanecem os mesmos com esta mudança de nomenclatura.

Se você estiver usando uma versão do MongoDB ou o driver que não tem suporte para a API estável, você pode usar o seguinte trecho de código para testar sua conexão com a MongoDB deployment no Atlas:

#include <mongoc/mongoc.h>
int main(void) {
mongoc_client_t *client = NULL;
bson_error_t error = {0};
mongoc_database_t *database = NULL;
bson_t *command = NULL;
bson_t reply = BSON_INITIALIZER;
int rc = 0;
bool ok = true;
// Initialize the MongoDB C Driver.
mongoc_init();
client = mongoc_client_new("<connection string>");
if (!client) {
fprintf(stderr, "Failed to create a MongoDB client.\n");
rc = 1;
goto cleanup;
}
// Get a handle on the "admin" database.
database = mongoc_client_get_database(client, "admin");
if (!database) {
fprintf(stderr, "Failed to get a MongoDB database handle.\n");
rc = 1;
goto cleanup;
}
// Ping the database.
command = BCON_NEW("ping", BCON_INT32(1));
ok = mongoc_database_command_simple(
database, command, NULL, &reply, &error
);
if (!ok) {
fprintf(stderr, "error: %s\n", error.message);
rc = 1;
goto cleanup;
}
bson_destroy(&reply);
printf("Pinged your deployment. You successfully connected to MongoDB!\n");
// Perform cleanup.
cleanup:
bson_destroy(command);
mongoc_database_destroy(database);
mongoc_client_destroy(client);
mongoc_cleanup();
return rc;
}

A tabela de compatibilidade nesta seção especifica a versão recomendada ou versões do driver MongoDB C para uso com uma versão específica do MongoDB.

A primeira coluna lista a versão do driver.

Importante

O MongoDB garante a compatibilidade entre o MongoDB Server e os drivers por três anos após a data de fim da vida útil (EOL) da versão do servidor. Para saber mais sobre a versão do MongoDB e as datas de EOL, consulte Agendamentos do ciclo de vida do software MongoDB.

Ícone
Explicação
Todas as funcionalidades são suportadas.
A versão Driver funcionará com a versão MongoDB, mas nem todos os novos recursos MongoDB são suportados.
Sem marca
A versão Driver não é testada com a versão MongoDB.
Versão do driver C
MongoDB 7.0
MongoDB 6.0
MongoDB 5.0
MongoDB 4.4
MongoDB 4.2
MongoDB 4.0
MongoDB 3.6
MongoDB 3.4
MongoDB 3.2
MongoDB 3,0
MongoDB 2.6
1. 27
1. 26
1. 25
1. 24
1. 23
1. 22
1. 21
1. 20
1. 19
1. 18
[1]
1. 17
1. 16
1. 15
1. 14
1. 13
1. 12
1. 11
1. 10
1. 9
1. 8
1. 7
1. 6
1. 5
1. 4
1. 3
1. 2
1. 1
1. 0
[1] O driver 1.18 não é mais compatível com leituras de snapshots em secundários. Para obter mais informações, consulte as notas de versão do MongoDB Server versão 5.0.

O driver não suporta versões mais antigas do MongoDB.

A tabela de compatibilidade a seguir especifica a(s) versão(ões) recomendada(s) do driver MongoDB C para uso com uma versão específica de C.

A primeira coluna lista a(s) versão(ões) do driver.

Versão do driver C
C17/C18
C11
C99
C89
1. 27
1. 26
1. 25
1. 24
<= 1,23

Para obter mais informações sobre como ler as tabelas de compatibilidade, consulte nosso guia sobre tabelas de compatibilidade do MongoDB.

libbson →