EventoObtenha 50% de desconto no seu ingresso para MongoDB.local Londres em outubro 2. Use o código WEB50Saiba mais >>
Desenvolvedor MongoDB
Central de desenvolvedor do MongoDBchevron-right
Produtoschevron-right
Atlaschevron-right

Getting Started With MongoDB and C

Diego Freniche12 min read • Published Mar 24, 2023 • Updated Sep 17, 2024
AtlasC
SNIPPET
Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Tutorial
star-empty
star-empty
star-empty
star-empty
star-empty

Introdução ao MongoDB e C

Neste artigo, instalaremos o driverdoMongoDB C no macOS e usaremos esse driver para escrever alguns exemplos de aplicativos de console que podem interagir com seus dados do MongoDB executando operações CRUD básicas. Usaremos o Visual Studio Code para digitar o código e a linha de comando para compilar e executar nossos programas. Se você quiser experimentar agora, todo o código-fonte está no repositório GitHub.

Sumário

Pré-requisitos

  1. Uma conta do MongoDB Atlas com um cluster criado.
  2. O conjunto de dados de amostra carregado no Atlas cluster (ou você pode modificar o código de amostra para utilizar seu próprio banco de dados e collection).
  3. O endereço IP da sua máquina está na lista de permissões. Nota: Você pode adicionar 0.0.0.0/0 como o endereço IP, que deve permitir o acesso de qualquer máquina. Essa configuração não é recomendada para uso em produção.

VS Code, extensões C, Xcode

  1. Usaremos o Visual Studio Code, disponível no macOS, Windows e Linux, porque ele tem suporte oficial para código C. Basta baixar e instalar a versão apropriada.
  2. Precisamos das extensões C, que serão sugeridas quando você abrir um arquivo C pela primeira vez. Você também pode abrir extensões e procurar por "C/C++" e instalá-las. Isso instalará várias extensões: C/C++, C/C++ Themes e CMake.
  3. A última etapa é garantir que tenhamos um compilador C. Para isso,instale o Xcode da Mac App Store ou execute em um terminal:
Embora possamos usar oCMake para criar nossos aplicativos C (e você tenha instruções detalhadas sobre como fazer isso), usaremos o VS Code para digitar nosso código e o terminal para criar e executar nossos programas.

Instalando o driver C

No macOS, se tivermos o gerenciador de pacotes homebrew instalado (o que você deve fazer), basta abrir um terminal e digitar:
Você também pode baixar o código-fonte e construir o driver, mas usar brew é muito mais conveniente.

Configurando extensões do VS Code

Para fazer o preenchimento automático funcionar no VS Code, precisamos alterar a configuração da extensão para garantir que ela "veja" essas novas bibliotecas instaladas. Queremos alterar nosso INCLUDE_PATH para permitir que o IntelliSense verifique nosso código enquanto o digita e possa criar nosso aplicativo a partir do VS Code.
Para fazer isso, no VS Code, abra a pasta oculta.vscodee clique em c_cpp_properties.json e adicione estas linhas:
Agora, abra tarefas.json e adicione estas linhas à matriz args:
Com eles, estamos informando ao VS Code onde encontrar as bibliotecas C do MongoDB para que ele possa compilar e verificar nosso código à medida que digitamos.

Olá, MongoDB!

O código-fonte está disponível no GitHub.

Configurando o cliente e enviando ping para o MongoDB Atlas

Vamos começar com um programa simples que se conecta ao MongoDB Atlas cluster e faz pings no servidor. Para isso, precisamos obter a cadeia de conexão (URI) para o MongoDB Atlas cluster e adicioná-la em nosso código. A melhor maneira é criar uma nova variável de ambiente com a chave "MONGODB_URI " e valorizar a connection string (URI). É uma boa prática manter a string de conexão dissociada do código, mas, neste exemplo, para simplificar, teremos nossa string de conexão codificada.
Incluímos o driver MongoDB e enviamos um comando "echo" de nossa funçãomain. Este exemplo mostra como inicializar o cliente MongoDB C, como criar um comando, manipular JSON (neste caso, BCON, Notação de objetoBSON C), enviar um comando, processar a resposta e o erro e liberar qualquer memória usada.

Compilando e executando nosso código

Embora possamos usar métodos muito mais sofisticados para compilar e executar nosso código, como este é apenas um arquivo de código-fonte C e estamos usando apenas algumas dependências, vou compilar a partir da linha de comando usando o bom e velho gcc:
Para executar o código, basta chamar o binário construído:
No repositório que acompanha esta postagem, você encontrará um shell script que cria e executa todos os exemplosde uma só vez.

Conectando ao banco de dados e listando todas as coleções

Agora que temos o esqueleto de um aplicativo C, podemos começar a usar nosso banco de dados. Nesse caso, nos conectaremos ao banco de dados sample_mflixe listaremos todas as coleções lá.
Após conectar ao banco de dados, listamos todas as conexões com um simples loop forapós obter todos os nomes de collection commongoc_database_get_collection_names.
A amostra completa segue.
Se compilarmos e executarmos, obteremos esta saída:

Criando um objeto JSON em C

Por ser um banco de dados baseado em documentos, a criação de documentos JSON é crucial para qualquer aplicativo que interaja com o MongoDB. Como este é um código C, não usamos JSON. Em vez disso, usamos BCON (notação de objetoBSON C, como mencionado acima). Para criar um novo documento, chamamos BCON_NEWe, para convertê-lo em uma string C, chamamos bson_as_canonical_extended_json.

CRUD no MongoDB usando o driver C

Agora que abordamos os fundamentos da conexão com o MongoDB, vamos dar uma olhada em como manipular dados.

Query de dados

Provavelmente, a função mais usada de qualquer banco de dados é a recuperação rápida de dados. Na maioria dos casos de uso, gastamos muito mais tempo acessando dados do que inserindo ou atualizando esses mesmos dados. Nesse caso, depois de criar nossa conexão com o cliente MongoDB, chamamos mongoc_collection_find_with_opts, que encontrará dados com base em uma consulta que podemos passar. Quando tivermos os resultados, podemos iterar pelo cursor retornado e fazer algo com esses dados:
A amostra completa segue.

Inserindo um novo documento

OK, sabemos ler dados, mas que tal inserir dados novos em nosso MongoDB database? É fácil! Acabamos de criar um BSON para ser inserido e chamar mongoc_collection_insert_one.
A amostra completa segue.

Excluindo um documento

Para excluir um documento, chamamos mongoc_collection_delete_one. Precisamos passar um documento contendo a query para restringir os documentos que queremos localizar e excluir.
A amostra completa segue.

Atualizando um documento

Finalmente, para atualizar um documento, precisamos fornecer a consulta para encontrar o documento a ser atualizado e um documento com os campos que queremos alterar.
A amostra completa segue.

Encerrando

Com este artigo, abordamos a instalação do driver MongoDB C, configurando o VS Code como nosso editor e configurando outras ferramentas. Em seguida, criamos alguns aplicativos de console que se conectam ao MongoDB Atlas e executam operações CRUD básicas.
Obtenha mais informações sobre o driver Ce, para experimentar este código, a maneira mais fácil seria registrar-se para uma conta MongoDB gratuita. Nós mal podemos esperar para ver o que você construirá a seguir!

Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Tutorial
star-empty
star-empty
star-empty
star-empty
star-empty
Relacionado
Artigo

Análise de consultas, parte 2: ajustando o sistema


Jan 17, 2024 | 10 min read
Tutorial

Como escrever testes de unidade para MongoDB Atlas Functions


Sep 09, 2024 | 10 min read
Artigo

Aplicar linguagem natural em consultas do MongoDB com o Google Gemini


Apr 23, 2024 | 7 min read
Tutorial

Como implementar o Agentic RAG usando o Claude 3.5 Sonnet, LlamaIndex e MongoDB


Jul 02, 2024 | 17 min read
Sumário
  • Introdução ao MongoDB e C