Définition:
MongoDB est une base de données NoSQL open source. Puisqu’il s’agit d’une base de données non relationnelle, elle peut traiter des données structurées, semi-structurées et non structurées. Elle utilise un modèle de données non relationnel, orienté document, et un langage de requête non structuré.
MongoDB est très flexible et permet d’associer et de stocker plusieurs types de données. Elle permet également de stocker et de gérer des volumes de données plus importants que les bases de données relationnelles traditionnelles. MongoDB utilise un format de stockage de documents appelé BSON, une forme binaire de JSON (JavaScript Object Notation) qui peut contenir davantage de types de données.
Installation de MongoDB
MongoDB, comme toute autre base de données, est disponible en plusieurs variantes en fonction des besoins de développement. Les variantes sont listées ci-dessous et peuvent être utilisées ou téléchargées à partir de ce lien
- MongoDB Atlas – Base de données en tant que service
- Community Server – Utilisation gratuite pour la communauté des développeurs
- MongoDB Enterprise Edition – La version commerciale avec des fonctionnalités supplémentaires
Chacune de ces versions est entièrement compatible avec tous les systèmes d’exploitation. Pour commencer l’installation d’un serveur communautaire, téléchargez le fichier d’installation correspondant à votre système d’exploitation.
Le processus d’installation diffère légèrement d’un système d’exploitation à l’autre, c’est pourquoi nous allons procéder à l’installation de chaque système d’exploitation séparément.
https://fastdl.mongodb.org/windows/mongodb-windows-x86_64-8.0.8-signed.msi pur windows…
Un site qui explicite mieux l’install …https://welovedevs.com/fr/articles/mongodb-windows/
Installation sous Linux
Comme pour macOS, MongoDB pour les variantes Linux est également disponible sous la forme d’un ensemble de binaires archivés. Le processus d’installation de MongoDB est assez similaire.
- Déplacez les fichiers binaires à l’emplacement souhaité
- Ouvrez le terminal dans le dossier
- Exécutez la commande ci-dessous avec l’emplacement de la base de données souhaitée
./mongod --dbpath /répertoire désiré/
Test de l’installation
Sous Console …
En console / terminal : via mongosh
Si tu as MongoDB Shell (mongosh
) installé, fais :
mongosh
Pas de mongosh
?
Installe-le via :
winget install MongoDB.Shell
Cette instruction fonctionne sous cmd !

ou via le site officiel
voir la structure des champs mongoDB
db.interactions.findOne()
Clé unique des champs mongodb
db.interactions.aggregate([
{ $project: { keys: { $objectToArray: "$$ROOT" } } },
{ $unwind: "$keys" },
{ $group: { _id: null, champs: { $addToSet: "$keys.k" } } }
])
humour ? plus facile sous Compass

Et avec Compass…

Création de la première collection
MongoDB stocke les données sous forme de documents JSON. Un groupe de documents de ce type est collectivement connu sous le nom de collection dans MongoDB. Ainsi, une collection est analogue à une table dans une base de données relationnelle, tandis qu’un document est analogue à un enregistrement.
Pour stocker des documents, nous devons d’abord créer une collection. Ce qui est intéressant avec une base de données NoSQL, c’est que contrairement à une base de données SQL, vous n’avez pas besoin de spécifier les noms des colonnes ou les types de données.
La première étape de la création d’une collection consiste à créer une base de données. Pour créer une base de données et vous y connecter à l’aide de la ligne de commande, exécutez la commande suivante à partir du répertoire d’origine de l’installation de MongoDB.
./bin/mongo tutorial
Cette commande est utilisée pour démarrer la connexion à la base de données et se connecter simultanément à la base de données du didacticiel. Elle affichera un certain nombre de lignes dans le journal pour indiquer que la ligne de commande s’est connectée à la base de données MongoDB.
Un exemple d’image de ligne de commande a été affiché ci-dessous pour vous donner une meilleure idée.

- Pour créer une collection, exécutez la commande suivante :
$ > db.createCollection('firstCollection') ;
C’est ainsi qu’une collection vide est créée. L’étape suivante consiste à insérer des données et à effectuer des traitements sur les enregistrements à l’aide de la ligne de commande MongoDB.
Insertion d’un document dans la collection
Comme nous l’avons vu plus haut, il est possible d’insérer presque n’importe quel JSON dans chaque collection MongoDB.
Commençons par l’insertion du premier document JSON dans la collection firstCollection créée ci-dessus.
> db.firstCollection.insertOne({name:'Abhishek',skill:'MongoDB'}) ;
La commande ci-dessus insère un seul document JSON dans la collection firstCollection. La même chose peut être vérifiée en utilisant la commande ci-dessous :
> db.firstCollection.find() ;
La commande ci-dessus peut être utilisée de multiples façons, en fonction de la variation de la fonction find()
. Lorsqu’aucun argument n’est spécifié, comme c’est le cas avec la commande ci-dessus, elle récupère tous les documents disponibles dans la collection.
Vous pouvez insérer un enregistrement supplémentaire et essayer la même chose. Ce faisant, la sortie de la commande ci-dessus sera similaire à celle illustrée ci-dessous :
> db.firstCollection.find() ; {"_id" : ObjectId("5b043a32c29a7184535e783a"), "name" : "Abhishek", "skill" : "MongoDB" } { "_id" : ObjectId("5b05b4f0c29a7184535e783b"), "name" : "GeekFlare", "skill" : "Java,MongoDB,NodeJS" }
Comme vous pouvez le constater, deux enregistrements disponibles sont affichés. La fonction find()
peut être facilement utilisée pour filtrer les documents en fonction de paramètres spécifiques. Filtrons le document à l’aide de l’attribut name.
Le processus de filtrage est simple et peut être compris à partir de la commande ci-dessous :
db.firstCollection.find({name:'Abhishek'}) ; {"_id" : ObjectId("5b043a32c29a7184535e783a"), "name" : "Abhishek", "skill" : "MongoDB" }
Le filtre peut également être utilisé avec plusieurs attributs dans le JSON. Bien qu’il soit possible d’ajouter n’importe quel nombre de paramètres à la requête, la limite de cette approche est qu’elle ne correspond qu’à la valeur exacte des attributs.
Filtrage des enregistrements à l’aide de Regex
Pour exécuter l’équivalent en MongoDB d’une clause MySQL like , MongoDB utilise des regex . Les regex sont des séries de caractères formant un motif à comparer. Les caractères regex sont similaires à ceux utilisés en Javascript.
Pour la collection actuelle, nous allons essayer de récupérer les données en faisant correspondre un motif à l’attribut skill. La commande ci-dessous permet d’obtenir la liste des personnes ayant la compétence MongoDB. Ainsi, elle récupérera deux enregistrements car ils contiennent tous deux la chaîne MongoDB.
> db.firstCollection.find({compétences:/.*MongoDB.*/}) ; {"_id" : ObjectId("5b043a32c29a7184535e783a"), "name" : "Abhishek", "skill" : "MongoDB" } { "_id" : ObjectId("5b05b4f0c29a7184535e783b"), "name" : "GeekFlare", "skill" : "Java,MongoDB,NodeJS" } > db.firstCollection.find({skill:/.*Java.*/}) ; { "_id" : ObjectId("5b05b4f0c29a7184535e783b"), "name" : "GeekFlare", "skill" : "Java,MongoDB,NodeJS" }
Le code ci-dessus affiche le résultat de deux chaînes différentes sous la forme d’une expression rationnelle. La première requête permet d’obtenir la liste d’un document dont l’attribut de compétence contient le mot-clé MongoDB, tandis que l’autre permet d’obtenir les personnes ayant des compétences en Java uniquement.
Le prochain défi de l’interrogation basée sur des critères est d’effectuer une interrogation avec une condition OR ou AND.