AnúncioApresentando MongoDB 8.0, o MongoDB mais rápido de todos os tempos! Leia mais >
AnúncioVoyage AI se junta ao MongoDB para impulsionar aplicativos de AI mais precisos e confiáveis no Atlas. Saiba mais >

C++ e MongoDB

C++ é uma linguagem de programação robusta e de alto desempenho, aprovada por sua eficiência, versatilidade e uso generalizado. Dada a popularidade do MongoDB e do C++, não é nenhuma surpresa que eles funcionem bem juntos. Não importa se você está desenvolvendo em uma instalação local ou no local do MongoDB, ou adotando a nuvem com o MongoDB Atlas, o MongoDB C++ Driver facilita integrar o MongoDB ao seu processo de desenvolvimento.

Você está tentando descobrir qual banco de dados usar com o aplicativo C++ que você está desenvolvendo? Mergulhe neste guia para explorar a integração perfeita do C++ com o MongoDB, aproveitando os pontos fortes do C++ juntamente com a flexibilidade e a escalabilidade do sistema de banco de dados do MongoDB.

Índice

Por que usar o MongoDB com C++

O MongoDB ocupa o primeiro lugar como a tecnologia de banco de dados NoSQL mais popular. É um banco de dados de documento usado para criar aplicativos altamente disponíveis e dimensionáveis. Fundado em 2007, o MongoDB tem acompanhamentos globais na comunidade de desenvolvedores. O MongoDB sempre se conectou em fornecer aos desenvolvedores uma excelente experiência de usuário o que, além de todos os outros recursos, tornou o MongoDB um favorito dos desenvolvedores em todo o mundo. Os desenvolvedores de C++ podem se beneficiar significativamente com o uso do MongoDB por vários motivos:

  • Esquema flexível: ao contrário do SQL, o modelo de documento do MongoDB permite que diferentes documentos em uma coleção tenham diversos dados estruturados. Essa flexibilidade se alinha bem com a natureza dinâmica do C++ e pode aumentar a produtividade, permitindo alterações no layout dos dados sem ter que modificar todo o seu modelo de dados.
  • Desempenho: o MongoDB tem suporte integrado para fragmentação e replicação, oferecendo alta disponibilidade, escalabilidade horizontal e distribuição geográfica. Isso o torna a escolha ideal para aplicativos C++ que exigem robustez e alto desempenho.
  • Escalabilidade: o MongoDB foi projetado para facilitar o dimensionamento horizontal, o que envolve a adição de mais servidores para o seu aplicação. Por outro lado, os bancos de dados SQL normalmente dependem do dimensionamento vertical (hardware mais poderoso), que pode apresentar limitações.
  • Fácil de usar: o MongoDB fornece uma API muito direta e intuitiva para operações CRUD, que pode ser facilmente usada com o MongoDB C++ Driver. Os documentos semelhantes ao JSON usados no MongoDB são mapeados diretamente para tipos de dados em C++, fornecendo um ambiente natural de manipulação de dados.

Se você estiver criando algo novo e precisar de um banco de dados, considere usar o MongoDB Atlas desde o início. O Atlas oferecerá a você um serviço de banco de dados totalmente gerenciado e nativo em nuvem que vem com uma série de recursos, incluindo Full Text Search, pesquisa vetorial, gráficos, integrações de parceiros e muito mais.

Fato engraçado: o banco de dados MongoDB é escrito na linguagem C++ !

Comece a usar o MongoDB e C++

Para começar a usar o MongoDB com sua aplicação C++, você precisará instalar o driver MongoDB C++, que atua como a interface entre o MongoDB e sua aplicação C++. O driver também é conhecido como mongocnx ou mongo-cnx-driver.

Há várias opções disponíveis para instalar o driver do MongoDB C++ :

Consulte a documentação detalhada na página de instalação que abrange todos os métodos acima. Um guia passo a passo para criar e instalar a partir do código no Windows também está disponível. Também temos um tutorial em vídeo de 10 minutos para você começar.

Você pode configurar o driver do MongoDB C++ com o IDE de sua escolha, como Visual Studio, Visual Studio Code ou CLIon. A instalação do driver C++ também inclui um pacote de arquivo de configuração CMake, de maneira que você possa usar o comando find_package do CMake para importar o destino CMake do driver C++ e vincular ao driver C++ (como uma biblioteca compartilhada).

Criando seu primeiro cluster do Atlas

Depois que o driver C++ estiver todo configurado, você precisará de um banco de dados.

Você pode criar uma conta e criar um cluster de nível gratuito no MongoDB Atlas seguindo este guia. Ele também mostrará como inserir dados de amostra.

Conectando-se ao seu cluster do Atlas

Após a seção anterior, você deve ter um novo cluster do MongoDB implantado no Atlas, um novo usuário de banco de dados e alguns conjuntos de dados amostra carregados em seu cluster.

Agora, é hora de se conectar a um banco de dados usando seu driver. Para estabelecer uma conexão de banco de dados , seu driver precisa de instruções sobre como se conectar. Essas instruções são chamadas de string de conexão. Você pode obter a string de conexão para o cluster e o nome de usuário criado na etapa anterior acessando sua conta do Atlas , navegando até a seção Banco de dados e clicando em "Conectar".

Um prompt de controle aparecerá solicitando que você selecione seu driver e versão. Depois de preencher esses dois menus suspensos, você poderá usar a string de conexão do banco de dados resultante (ela começará com "mongodb+srv:// ") para se conectar ao seu cluster. Observe que você precisará trocar os valores para seu próprio nome de usuário e senha!

Você pode usar esta string de conexão para executar consultas no seu cluster MongoDB a partir do seu aplicação. Você pode encontrar um conjunto mais detalhado de instruções para buscar a string de conexão aqui. O código de exemplo para se conectar ao MongoDB Atlas cluster e executar um comando ping é compartilhado abaixo:

 

C++

 

Documentos e coleções

Ao contrário dos bancos de dados SQL, o MongoDB armazena informações em documentos e coleções.

Documentos

O MongoDB armazena registros de dados como documentos BSON. BSON é uma representação binária de documentos JSON, embora contenha mais tipos de dados do que JSON. Os documentos são compostos de pares de valores de campo, com a seguinte estrutura:

 

Python

 

Os valores associados aos campos podem ser qualquer tipo de dado BSON, incluindo outros documentos, matrizes e até mesmo matrizes de documentos. Os próprios nomes de campo são strings.

Os documentos são muito mais flexíveis do que as linhas padrão em relational databases, pois eles fornecem um esquema dinâmico em vez de um aplicado (embora você possa realizar a validação de esquema com o MongoDB se quiser).

Collections

O MongoDB armazena documentos em coleção. Uma coleção é como uma tabela em um banco de dados relacional. Para obter mais detalhes sobre como criar uma coleção, e outras informações sobre coleções, confira a documentação aqui.

Operações CRUD

As operações CRUD (criar, ler, atualizar e excluir) são as quatro operações básicas que você pode querer fazer com um banco de dados. No caso do MongoDB, você pode usar operações CRUD para inserir documentos, gravar queries para documentos correspondentes, atualizar documentos e excluir documentos. Você pode fazer isso usando MQL, a linguagem de query do MongoDB. Ao contrário das declarações SQL, o MQL usa a mesma sintaxe dos documentos, tornando-o intuitivo e fácil de usar até mesmo para consultas avançadas.

Um tutorial completo de banco de dados C++, bem como código de exemplo para cada uma das quatro operações CRUD usando o driver C++, pode ser encontrado no MongoDB Developer Center e na documentação.

Como obter ajuda

A melhor parte de usar o MongoDB é a comunidade vibrante que inclui usuários com todos os níveis de experiência com o driver C++ . A melhor maneira de obter suporte para perguntas gerais é usando os fóruns da MongoDB Community.

Se você estiver se deparando com um erro inesperado, se acha que encontrou um erro no driver C++, ou se tem uma solicitação de recurso, abra um ticket JIRA no projeto CXX.

Os tickets criados no JIRA para o driver C++ e o servidor Core são públicos por padrão.

Você também pode aumentar as solicitações de recursos no MongoDB Feedback e obter suporte ao obter votos positivos sobre a ideia.

Recursos

Perguntas frequentes

Primeiros passos com o MongoDB Atlas

Experimente grátis