Introduction
Bienvenue dans LabEx ! Voici votre premier laboratoire MongoDB. Si vous n'avez jamais utilisé de base de données, ne vous inquiétez pas : nous vous guiderons à chaque étape.
Commençons par comprendre ce qu'est MongoDB : MongoDB est un système de base de données qui stocke les données dans un format documentaire flexible. Contrairement aux feuilles de calcul traditionnelles, MongoDB vous permet d'organiser les données de manière plus naturelle, un peu comme vous organisez les fichiers dans des dossiers sur votre ordinateur.
Dans ce laboratoire, vous apprendrez à :
- Démarrer le shell MongoDB et comprendre son rôle
- Créer votre première base de données et votre première collection
- Ajouter et afficher des données dans MongoDB
- Interroger, mettre à jour et supprimer des données
Ces compétences constitueront la base de votre parcours avec MongoDB. Commençons !
Cliquez sur le bouton Continue ci-dessous pour commencer le laboratoire.
Démarrer le shell MongoDB
Dans cette étape, vous allez ouvrir un terminal et démarrer le shell MongoDB dans votre machine virtuelle LabEx.
Nous vous recommandons l'Terminal Interface pour sa rapidité et sa simplicité d'utilisation. Il s'agit de l'interface par défaut pour les laboratoires liés à MongoDB.

Si vous préférez une expérience de terminal plus traditionnelle, utilisez la Desktop Interface. Regardez la partie gauche de votre bureau, puis cliquez sur l'icône Xfce Terminal.

Les deux méthodes fonctionnent aussi bien l'une que l'autre : elles permettent simplement d'accéder au même environnement de laboratoire de deux manières différentes. Choisissez celle que vous préférez !
Démarrons maintenant le shell MongoDB, qui joue le rôle de panneau de contrôle pour votre base de données. Considérez le shell comme un moyen de communiquer directement avec MongoDB : vous saisissez des commandes et MongoDB vous répond.
Pour démarrer le shell MongoDB, saisissez la commande suivante dans votre terminal, puis appuyez sur Entrée :
mongosh
Un message de connexion s'affiche pour indiquer que vous êtes connecté à l'instance MongoDB locale. La sortie ressemble à ceci :
Current Mongosh Log ID: 65a7f3e5f1a1234567890abc
Connecting to: mongodb://127.0.0.1:27017/?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+x.y.z
Using MongoDB: X.X.X
Using Mongosh: X.X.X
For mongosh info, see: https://docs.mongodb.com/mongodb-shell/
test>
L'invite test> indique que vous êtes maintenant dans le shell mongosh et connecté à la base de données test par défaut.
Affichons la liste de toutes les bases de données existantes sur le serveur. Saisissez la commande suivante dans le shell mongosh :
show dbs
Vous verrez la liste des bases de données par défaut utilisées par MongoDB à des fins internes :
admin 40.00 KiB
config 112.00 KiB
local 40.00 KiB
À l'étape suivante, vous allez créer votre propre base de données.
Créer une base de données et insérer un document
Dans cette étape, vous allez créer une base de données et insérer votre premier document. Avec MongoDB, vous n'avez pas besoin de créer explicitement une base de données. Elle est créée automatiquement lorsque vous y stockez des données pour la première fois. Pour passer à une nouvelle base de données, utilisez la commande use.
Passons à une base de données nommée mylab_database. Dans le shell mongosh, saisissez :
use mylab_database
Le shell répond switched to db mylab_database. Même si la base de données n'est pas encore créée, vous travaillez maintenant dans son contexte.
Dans MongoDB, les données sont stockées dans des collections, qui regroupent des documents. Un document est un ensemble de paires clé-valeur. Créons une collection users en insérant notre premier document.
Utilisez la méthode insertOne() pour ajouter un seul document à la collection users :
db.users.insertOne({ name: "JohnDoe", age: 30, city: "NewYork" })
Décomposons cette commande :
db: représente la base de données actuelle (mylab_database).users: nom de la collection. Elle sera créée automatiquement.insertOne(): méthode permettant d'insérer un document.{...}: le document lui-même, avec des champs tels quename,ageetcity.
MongoDB confirme l'insertion et renvoie l'_id unique qu'il a généré pour le document :
{
acknowledged: true,
insertedId: ObjectId("...")
}
L'ObjectId est un identifiant unique attribué automatiquement à chaque document.
Vérifions maintenant que le document a bien été ajouté. Utilisez la méthode find() pour afficher tous les documents de la collection users :
db.users.find()
La sortie affiche le document que vous venez d'insérer :
[
{
_id: ObjectId("..."),
name: 'JohnDoe',
age: 30,
city: 'NewYork'
}
]
Insérer plusieurs documents
Dans cette étape, vous allez ajouter plusieurs documents en une seule fois. La méthode insertMany() reçoit un tableau de documents comme argument.
Créons une nouvelle collection books et ajoutons-y trois livres avec une seule commande.
db.books.insertMany([
{ title: "MongoDBBasics", author: "JaneSmith", year: 2023 },
{ title: "PythonProgramming", author: "JohnDoe", year: 2022 },
{ title: "DataScienceHandbook", author: "AliceJohnson", year: 2021 }
])
Remarquez les crochets [ ], qui définissent un tableau. Chaque objet {...} du tableau constitue un document distinct.
MongoDB confirme l'opération et renvoie les valeurs _id de tous les documents insérés :
{
acknowledged: true,
insertedIds: {
'0': ObjectId("..."),
'1': ObjectId("..."),
'2': ObjectId("...")
}
}
Pour afficher tous les documents de votre nouvelle collection books, utilisez à nouveau la méthode find() :
db.books.find()
La sortie répertorie les trois documents correspondant aux livres que vous venez d'ajouter.
Interroger et compter les documents
Dans cette étape, vous allez récupérer et compter les données que vous avez insérées.
Pour compter le nombre total de documents d'une collection, utilisez la méthode countDocuments(). Comptons les livres de notre collection books :
db.books.countDocuments()
La commande renvoie le nombre total :
3
Pour rechercher des documents précis, transmettez un filtre de requête à la méthode find(). Un filtre de requête est un document qui définit les conditions de la recherche.
Par exemple, pour trouver tous les livres écrits par « JohnDoe », utilisez la requête suivante :
db.books.find({ author: "JohnDoe" })
Le filtre { author: "JohnDoe" } indique à MongoDB de renvoyer uniquement les documents dont le champ author contient la valeur « JohnDoe ».
Vous pouvez également effectuer une recherche à partir de valeurs numériques. Trouvons tous les livres publiés en 2023 :
db.books.find({ year: 2023 })
Cette commande renvoie le livre « MongoDBBasics ». La méthode find() est un outil puissant pour récupérer exactement les données dont vous avez besoin.
Mettre à jour et supprimer des documents
Dans cette étape, vous allez mettre à jour et supprimer des documents d'une collection.
Pour modifier un document existant, utilisez la méthode updateOne(). Elle reçoit un filtre qui sélectionne le document et un document de mise à jour qui décrit la modification. L'opérateur $set ne modifie que le champ indiqué.
Modifions l'année de publication du livre « PythonProgramming », en la faisant passer de 2022 à 2024 :
db.books.updateOne(
{ title: "PythonProgramming" },
{ $set: { year: 2024 } }
)
MongoDB confirme qu'il a trouvé et modifié un document :
{
acknowledged: true,
insertedId: null,
matchedCount: 1,
modifiedCount: 1,
upsertedCount: 0
}
Vérifiez le document mis à jour :
db.books.find({ title: "PythonProgramming" })
Le résultat affiche maintenant year: 2024 pour le livre « PythonProgramming ».
Supprimons ensuite des documents de la collection.
Pour supprimer un seul document correspondant à une condition précise, utilisez la méthode deleteOne(). Supprimons le livre intitulé « MongoDBBasics » :
db.books.deleteOne({ title: "MongoDBBasics" })
Le shell confirme qu'un document a été supprimé :
{ acknowledged: true, deletedCount: 1 }
Pour supprimer plusieurs documents correspondant à une condition, utilisez deleteMany(). Cette méthode accepte des opérateurs de requête pour créer des conditions plus complexes. Par exemple, $lt signifie « inférieur à ».
Supprimons tous les livres publiés avant 2022 :
db.books.deleteMany({ year: { $lt: 2022 } })
Cette commande supprime tous les documents dont le champ year est inférieur à 2022. Dans notre cas, elle supprime « DataScienceHandbook ».
Pour voir les livres restants, exécutez la commande find() une dernière fois :
db.books.find()
Seul le livre « PythonProgramming » doit rester dans la collection.
Vous avez maintenant mis en pratique les opérations CRUD de base de MongoDB : créer (Create), lire (Read), mettre à jour (Update) et supprimer (Delete). Pour quitter le shell mongosh, saisissez :
exit
Résumé
Félicitations, vous avez terminé votre premier laboratoire MongoDB ! Vous avez appris et mis en pratique les principales opérations de gestion des données dans une base de données MongoDB.
Dans ce laboratoire, vous avez appris à :
- Démarrer le shell
mongoshpour interagir avec un serveur MongoDB. - Utiliser la commande
usepour passer à une base de données. - Insérer un ou plusieurs documents avec
insertOne()etinsertMany(). - Récupérer des documents avec
find(), avec ou sans filtres de requête. - Compter les documents d'une collection avec
countDocuments(). - Mettre à jour un document avec
updateOne()et l'opérateur$set. - Supprimer des documents avec
deleteOne()etdeleteMany().
Ces compétences fondamentales constituent la base du développement d'applications puissantes avec MongoDB. La pratique est essentielle : n'hésitez donc pas à continuer à expérimenter avec les commandes que vous avez apprises.

