Menu Docs

Comece com o Driver C

O MongoDB C Driver é uma biblioteca C que você pode usar para se conectar ao MongoDB e interagir com dados armazenados em seu sistema. Este guia mostra como criar um aplicação que usa o driver C para se conectar a um cluster MongoDB hospedado no MongoDB Atlas e consultar dados em seu cluster.

Dica

O MongoDB Atlas é um serviço de banco de dados em nuvem totalmente gerenciado que hospeda seu Implantações do MongoDB. Você pode criar sua própria implantação do MongoDB Atlas gratuita (nenhum cartão de crédito exigido) seguindo as etapas deste guia.

Siga este guia para conectar um aplicação C de amostra a uma implantação do MongoDB Atlas . Se você preferir se conectar ao MongoDB usando um driver ou uma linguagem de programação diferente, consulte nossa lista de drivers oficiais.

O driver C consiste em duas bibliotecas: libbson e libmongoc. Neste guia, você aprenderá como instalar o libmongoc, que vem junto com o libbson.

Você pode instalar o driver C usando um gerenciador de pacote ou instalando as bibliotecas a partir da origem. Diferentes distribuições do Linux instalam diferentes versões do driver quando instaladas com um gerenciador de pacote . Por esse motivo, você deve verificar a versão que sua distribuição inclui antes de instalar o driver.

Nas distribuições do RedHat Enterprise Linux (RHEL), você pode verificar a versão executando o seguinte comando em seu shell:

sudo dnf info mongo-c-driver-devel

Em distribuições baseadas em Debian, você pode verificar a versão executando o seguinte comando em seu shell:

apt-cache policy libmongoc-dev

Se a versão do driver disponível não for a versão que você deseja, você poderá instalar o driver a partir da origem. Para saber como instalar o driver a partir da origem, consulte o guia Construindo bibliotecas de drivers C a partir da origem.

Para saber como instalar o driver usando um gerenciador de pacote , selecione a guia correspondente ao seu sistema operacional:

Você pode instalar o driver em distribuições RedHat Enterprise Linux (RHEL), versão 7 ou posterior, ou distribuições baseadas em RHEL, como:

Antes de instalar o driver em uma distribuição RHEL, não incluindo o Fedora, você deve primeiro habilitar o repositório Extra Packages for Enterprise Linux (EPEL). Você pode habilitar o repositório ECEL instalando o pacote epel-release , como mostrado no seguinte exemplo:

yum install epel-release

Em seguida, você pode instalar o driver C usando yum. Para fazer isso, execute o seguinte comando em sua shell:

yum install mongo-c-driver-devel

Observação

Pacotes para desenvolvedores

O exemplo de código anterior instala os pacotes do desenvolvedor, que são necessários para criar aplicativos que usam o driver C. Para instalar apenas as bibliotecas, sem arquivos de desenvolvimento, execute o seguinte comando:

yum install mongo-c-driver

Se você estiver instalando em uma distribuição RHEL que seja versão 8 ou posterior, recomendamos executar os exemplos de código anteriores usando dnf em vez de yum.

Se você estiver usando o Fedora ou uma distribuição Linux corporativa da versão 8 ou posterior, poderá instalar o driver usando os mesmos comandos mostrados no exemplo anterior e yum substituindo dnf por.

O exemplo a seguir mostra como instalar o driver C em uma distribuição Fedora:

dnf install mongo-c-driver-devel

Em distribuições Linux baseadas em Debian, incluindo Ubuntu e derivados Ubuntu, as bibliotecas de drivers estão disponíveis por meio da Advanced Package Tools (APT). Você pode instalar o driver com o APT executando o seguinte comando em seu shell:

apt install libmongoc-dev

O exemplo de código anterior instala os pacotes do desenvolvedor, que são necessários para criar aplicativos que usam o driver C. Para instalar apenas as bibliotecas, sem arquivos de desenvolvimento, execute o seguinte comando:

apt install libmongoc-1.0-0

Para ambientes Windows, recomendamos criar bibliotecas de drivers C a partir da origem para garantir a máxima compatibilidade com a cadeia de ferramentas local. Você pode automatizar a compilação a partir da origem usando uma ferramenta de gerenciamento de pacote de bibliotecas a partir da origem, como vspkg.

Dica

Para saber como começar a usar o vpkg, consulte o guia de Introdução ao vpkg na documentação da Microsoft.

No modo de manifesto vpkg, adicione a biblioteca de drivers ao arquivo de manifesto do seu vcpkg.json projeto, conforme mostrado no exemplo a seguir:

{
// ...
"dependencies": [
// ...
"mongo-c-driver"
]
}

Quando você cria um projeto CMake com integração vspkg e tem um arquivo de manifesto vcpkg.json, o vpkg instala automaticamente as dependências do projeto antes de prosseguir com a configuração.

Se você estiver usando o modo clássico do vspkg, poderá instalar o driver executando o seguinte comando no shell:

vcpkg install mongo-c-driver

Depois de instalar o driver, o arquivo de configuração CMake padrão estará disponível, bem como os destinos IMPORTED gerados. Você pode criar um arquivo CMakeLists.txt como mostrado no seguinte exemplo:

find_package(mongoc-1.0 CONFIG REQUIRED)
target_link_libraries(my-application
PRIVATE $<IF:$<TARGET_EXISTS:mongo::mongoc_shared>,mongo::mongoc_shared,mongo::mongoc_static>)

Observação

Você pode usar a expressão do gerador $<IF:$<TARGET_EXISTS...>:...> no exemplo anterior para alternar o tipo de link de libmongoc com base no formulário disponível no comando find_package(). libmongoc O permite a compilação com tipos de biblioteca dinâmica e estática, mas o vspkg instala somente um tipo de cada vez.

Para configurar o projeto CMake com integração vspkg, defina o arquivo de cadeia de ferramentas CMake no comando de configuração executando os seguintes comandos em sua shell:

cmake -S . -B _build -D
CMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake

Você pode baixar o driver C no MacOS usando o gerenciador de pacote Homebrew. Para fazer isso, execute o seguinte comando em sua shell:

brew install mongo-c-driver

Depois de concluir estas etapas, você terá o driver C instalado em seu computador.

Você pode criar uma implantação MongoDB de camada gratuita no MongoDB Atlas para armazenar e gerenciar seus dados. O MongoDB Atlas hospeda e gerencia seu banco de dados MongoDB na nuvem.

1

Complete o guia Iniciar com Atlas para configurar uma nova conta Atlas e carregar dados de amostra em uma nova implantação MongoDB de camada gratuita.

2

Depois de criar o usuário do banco de dados, salve o nome de usuário e a senha desse usuário em um local seguro para uso em uma próxima etapa.

Após concluir estas etapas, você terá uma nova implantação de camada grátis do MongoDB no Atlas, credenciais de trigger de banco de dados e dados de exemplo carregados no seu reconhecimento de data center.

Você pode se conectar à sua implantação do MongoDB fornecendo um URI de conexão, também chamado de connection string, que instrui o driver sobre como se conectar a uma implantação do MongoDB e como se comportar enquanto estiver conectado.

A cadeia de conexão inclui o nome do host ou endereço IP e porta de sua implantação, o mecanismo de autenticação, as credenciais do usuário quando aplicável, e opções de conexão.

Para se conectar a uma instância ou sistema não hospedado no Atlas, consulte o guia Escolher um Destino de Conexão .

1

Para recuperar a string de conexão da implantação criada na etapa anterior, faça login na sua conta do Atlas e navegue até a seção Database e clique no botão Connect para a nova implantação.

O botão de conexão na seção de clusters da UI do Atlas

Vá para a seção Connect your application e selecione "C" no menu de seleção Driver e a versão que melhor corresponde à versão instalada no menu de seleção Version.

Selecione o mecanismo de autenticação Password (SCRAM).

Desmarque a opção Include full driver code example para visualizar somente a string de conexão.

2

Clique no botão à direita da string de conexão para copiá-la para a área de transferência, como mostrado na seguinte captura de tela:

O botão copiar ao lado da string de conexão na UI do Atlas
3

Cole esta connection string em um arquivo no editor de texto de sua preferência e substitua os placeholders <db_username> e <db_password> pelo seu nome de usuário e senha de utilizador de banco de dados.

Salve este arquivo em um local seguro para uso na próxima etapa.

Após concluir estas etapas, você tem uma string de conexão que corresponde ao seu agrupamento do Atlas .

Você pode criar um aplicação que se conecta à sua implementação do MongoDB e recupera dados da coleção movies no banco de dados sample_mflix .

Para saber mais sobre o banco de dados do sample_mflix, consulte Amostra de conjunto de dados Mflix na documentação do Atlas.

1

Em sua shell, navegue até onde você deseja criar seu aplicação e, em seguida, execute o seguinte comando para criar um diretório chamado c-quickstart para este projeto:

mkdir c-quickstart

Selecione a aba correspondente ao seu sistema operacional e execute os seguintes comandos para criar um arquivo de aplicação quickstart.c no diretório c-quickstart :

cd c-quickstart
touch quickstart.c
cd c-quickstart
type nul > quickstart.c
2

Copie e cole o seguinte código no arquivo quickstart.c , que consulta a coleção movies no banco de banco de dados sample_mflix :

#include <bson/bson.h>
#include <mongoc/mongoc.h>
#include <stdio.h>
int
main (void)
{
const bson_t *doc;
mongoc_init ();
mongoc_client_t *client = mongoc_client_new ("<connection string>");
mongoc_collection_t *collection = mongoc_client_get_collection (client, "sample_mflix", "movies");
// Specify the query filter
bson_t *query = BCON_NEW ("title", "The Shawshank Redemption");
mongoc_cursor_t *results = mongoc_collection_find_with_opts (collection, query, NULL, NULL);
// Print the results
while (mongoc_cursor_next (results, &doc))
{
char* str = bson_as_canonical_extended_json (doc, NULL);
printf ("%s\n", str);
bson_free (str);
}
bson_destroy (query);
mongoc_cursor_destroy (results);
mongoc_collection_destroy (collection);
mongoc_client_destroy (client);
mongoc_cleanup ();
return EXIT_SUCCESS;
}
3

Substitua o placeholder <connection string> pela string de conexão que você copiou da etapa Criar uma connection string deste guia.

4

Em sua shell, execute os seguintes comandos para compilar e executar este aplicação:

gcc -o quickstartc quickstart.c $(pkg-config --libs --cflags libmongoc-1.0)
./quickstartc

A saída da linha de comando contém detalhes sobre o documento de filme recuperado:

{ "_id" : { "$oid" : "..." },
"plot" : "Two imprisoned men bond over a number of years, finding solace
and eventual redemption through acts of common decency.",
...
"title" : "The Shawshank Redemption",
...

Se você encontrar um erro ou não vir nenhuma saída, verifique se especificou a string de conexão adequada no arquivo quickstart.c e se carregou os dados de amostra.

Depois de concluir essas etapas, você tem um aplicativo funcional que utiliza o driver para se conectar à sua implantação do MongoDB, executar uma consulta nos dados de amostra e imprimir o resultado.

Parabéns por concluir o tutorial de início rápido!

Observação

Se você tiver problemas neste tutorial, peça ajuda nos fóruns da MongoDB Community ou envie feedback usando a guia Rate this page no lado direito ou inferior direito desta página.

Neste tutorial, você criou um aplicação C que se conecta a um sistema MongoDB hospedado no MongoDB Atlas e recupera um documento que corresponde a uma query.

Saiba mais sobre o driver C nos seguintes recursos: