AnnoncePrésentation de MongoDB 8.0, la plus rapide des MongoDB ! En savoir plus >
AnnonceVoyage AI rejoint MongoDB pour développer des applications d'IA plus précises et plus fiables sur Atlas. En savoir plus >

C++ et MongoDB

C++ est un langage de programmation robuste et performant, acclamé pour son efficacité, sa polyvalence et sa généralisation. Compte tenu de la popularité de MongoDB et de C++, il n'est pas surprenant qu'ils fonctionnent bien ensemble. Que vous développiez sur une installation MongoDB locale ou sur site, ou que vous optiez pour le cloud avant tout avec MongoDB Atlas, le pilote MongoDB C++ facilite l'intégration de MongoDB dans votre processus de développement.

Vous essayez de déterminer quelle base de données utiliser avec l'application C++ que vous développez ? Explorez ce guide pour découvrir l'intégration transparente du C++ avec MongoDB, en exploitant les points forts du C++ ainsi que la flexibilité et l'évolutivité du système de base de données de MongoDB.

Table des matières

Pourquoi utiliser MongoDB avec C++

MongoDB occupe la première place en tant que technologie de base de données NoSQL la plus populaire. Il s’agit d’une base de données de documents utilisée pour créer des applications hautement disponibles et évolutives. Fondé en 2007, MongoDB est mondialement reconnu dans la communauté des développeurs. MongoDB s'est toujours attachée à offrir aux développeurs une excellente expérience utilisateur, ce qui, en plus de toutes ses autres fonctionnalités, a fait de MongoDB l'un des favoris des développeurs du monde entier. Les développeurs C++ peuvent bénéficier de manière significative de l'utilisation de MongoDB pour plusieurs raisons :

  • Schéma flexible : contrairement à SQL, le modèle de document de MongoDB permet à différents documents d'une collection de contenir des données structurées diverses. Cette flexibilité s'accorde bien avec la nature dynamique du C++ et peut augmenter la productivité en permettant des changements dans la mise en page des données sans avoir à modifier l'ensemble de votre modèle de données.
  • Performance : MongoDB intègre un support pour le partitionnement et la réplication, offrant la haute disponibilité, l'évolutivité horizontale et la distribution géographique. Elle est donc la solution idéale pour les applications C++ qui exigent robustesse et performances.
  • Évolutivité : MongoDB est conçu pour une mise à l'échelle horizontale facile, qui implique l'ajout de serveurs supplémentaires pour votre application. En revanche, les bases de données SQL reposent généralement sur une mise à l'échelle verticale (hardware plus puissant), ce qui peut présenter des limites.
  • Facile à utiliser : MongoDB fournit une API très simple et intuitive pour les opérations CRUD, qui peut être facilement utilisée avec le pilote C++ MongoDB. Les documents de type JSON utilisés dans MongoDB se mappent directement sur les types de données en C++, fournissant un environnement naturel de manipulation des données.

Si vous créez un nouveau projet et que vous avez besoin d’une base de données, envisagez d’utiliser MongoDB Atlas dès le départ. Atlas vous offrira un service de base de données entièrement géré et natif du cloud qui offre un certain nombre de fonctionnalités, notamment la recherche en texte intégral, la recherche vectorielle, les graphiques, les intégrations de partenaires, et bien plus encore.

Fait amusant : la base de données MongoDB est écrite en langage C++ !

Prise en main de MongoDB et C++

Pour commencer à utiliser MongoDB avec votre application C++, vous devez installer le pilote MongoDB C++, qui sert d’interface entre MongoDB et votre application C++. Le pilote est également connu sous le nom de mongocxx ou mongo-cxx-driver.

Plusieurs options s’offrent à vous pour installer le pilote MongoDB C++ :

Consultez la documentation détaillée sur la page d'installation qui couvre toutes les méthodes ci-dessus. Un guide étape par étape pour la construction et l’installation depuis les sources sur Windows est également disponible. Nous proposons également un tutoriel vidéo de 10 minutes pour vous aider à démarrer.

Vous pouvez définir le pilote MongoDB C++ avec l'IDE de votre choix, tel que Visual Studio, Visual Studio Code ou CLion. L'installation du pilote C++ inclut également un package CMake config-file, de sorte que vous pouvez utiliser la commande find_package de CMake pour importer la cible CMake du pilote C++ et la lier au pilote C++ (en tant que bibliothèque partagée).

Créer votre premier cluster Atlas

Une fois le pilote C++ défini, vous aurez besoin d’une base de données.

Vous pouvez créer un compte et créer un cluster gratuit sur MongoDB Atlas en suivant ce guide. Il vous montrera également comment insérer des exemples de données.

Connexion à votre cluster Atlas

Après la section précédente, vous devriez avoir un nouveau cluster MongoDB déployé dans Atlas, un nouvel utilisateur et un nouveau mot de passe pour la base de données, et quelques exemples d'ensembles de données chargés dans votre cluster.

Il est maintenant temps de vous connecter à une base de données à l’aide de votre pilote. Pour établir une connexion à la base de données, votre pilote a besoin d'instructions sur la façon de se connecter. Ces instructions s’appellent la string de connexion. Vous pouvez obtenir votre string de connexion pour le cluster et le nom d’utilisateur que vous avez créés à l’étape précédente en accédant à votre compte Atlas, en accédant à la section « Base de données », puis en cliquant sur « Connexion ».

Une fenêtre contextuelle apparaîtra pour vous demander de sélectionner votre pilote et sa version. Une fois que vous avez rempli ces deux menus déroulants, vous pouvez utiliser la string de connexion à la base de données qui en résulte (elle commencera par «mongdb+srv:// ») pour vous connecter à votre cluster. Notez que vous devrez échanger les valeurs par votre propre nom d'utilisateur et mot de passe !

Vous pouvez utiliser cette chaîne de connexion pour exécuter des Requêtes sur votre cluster MongoDB à partir de votre application. Vous trouverez des instructions plus détaillées pour récupérer la chaîne de connexion ici. Voici un exemple de code pour se connecter au cluster MongoDB Atlas et exécuter une commande ping :

 

C++

 

Documents et collections

Contrairement aux bases de données SQL, MongoDB stocke des informations dans des documents et des collections.

Documents

MongoDB stocke les enregistrements de données sous forme de documents BSON. BSON est une représentation binaire des documents JSON, bien qu’il contienne plus de types de données que JSON. Les documents sont composés de paires clé-valeur, avec la structure suivante :

 

Python

 

Les valeurs associées aux champs peuvent être n’importe quel type de données BSON, y compris d’autres documents, tableaux et même des tableaux de documents. Les noms de champs sont eux-mêmes des chaînes.

Les documents sont beaucoup plus flexibles que les lignes standard des relational database, car ils vous donnent un schéma dynamique plutôt qu'un schéma appliqué (bien que vous puissiez effectuer une validation du schéma avec MongoDB si vous le souhaitez).

Collections

MongoDB stocke des documents dans des collections. Une collection est comme une table dans une relational database. Pour plus de détails sur la création d'une collection et d'autres informations sur les collections, vous pouvez consulter la documentation ici.

Opérations CRUD

Les opérations CRUD (création, lecture, mise à jour et suppression) sont les quatre opérations de base que vous pouvez effectuer avec une base de données. Dans le cas de MongoDB, vous pouvez utiliser les opérations CRUD pour insérer des documents, écrire des requêtes pour rechercher des documents correspondants, mettre à jour des documents et supprimer des documents. Pour ce faire, vous pouvez utiliser MQL, le langage de requête de MongoDB. Contrairement aux instructions SQL, MQL utilise la même syntaxe que les documents, ce qui le rend intuitif et facile à utiliser, même pour les requêtes avancées.

Un tutoriel complet sur les bases de données C++ ainsi qu'un exemple de code pour chacune des quatre opérations CRUD utilisant le pilote C++ sont disponibles dans le centre pour développeurs MongoDB et la documentation.

Obtenir de l'aide

La meilleure partie de l'utilisation de MongoDB est la communauté dynamique qui comprend des utilisateurs de tous niveaux d'expérience avec le pilote C++. Le meilleur moyen d'obtenir de l'aide pour les questions générales est d'utiliser les forums de la communauté MongoDB.

Si vous rencontrez une erreur inattendue, vous pensez avoir trouvé un bogue dans le pilote C++ ou vous avez une demande de fonctionnalité, veuillez ouvrir un ticket Jira dans le projet CXX.

Les tickets créés dans Jira pour le pilote C++ et le serveur principal sont publics par défaut.

Vous pouvez également faire des demandes de fonctionnalités sur MongoDB rétroaction et obtenir un soutien en obtenant des votes positifs sur l'idée.

Ressources

FAQ

Démarrer avec MongoDB Atlas

Essai gratuit