Votre Premier Lab MongoDB

MongoDBBeginner
Pratiquer maintenant

Introduction

Bienvenue sur LabEx ! Ceci est votre premier laboratoire MongoDB. Ne vous inquiétez pas si vous n'avez jamais utilisé de base de données auparavant – nous vous guiderons à chaque étape.

Commençons par comprendre ce qu'est MongoDB : MongoDB est un système de gestion de base de données qui stocke les données dans un format de document flexible. Contrairement aux feuilles de calcul traditionnelles, MongoDB vous permet d'organiser les données de manière plus naturelle, similaire à la façon dont vous pourriez organiser des fichiers dans des dossiers sur votre ordinateur.

Dans ce laboratoire, vous apprendrez à :

  1. Démarrer le shell MongoDB et comprendre ce que c'est
  2. Créer votre première base de données et collection
  3. Ajouter et visualiser des données dans MongoDB
  4. Compter et supprimer des données

Ces compétences constitueront la base de votre parcours avec MongoDB. Commençons !

Cliquez sur le bouton Continuer ci-dessous pour commencer le laboratoire.

Démarrer le Shell MongoDB

Avant de démarrer MongoDB, nous devons d'abord ouvrir un terminal dans votre VM LabEx. Vous avez deux façons de le faire :

  1. Interface Terminal : Nous recommandons l'interface terminal pour sa rapidité et sa facilité d'utilisation. C'est l'interface par défaut pour les laboratoires liés à MongoDB.

    open the terminal in terminal interface
  2. Interface Bureau : Si vous préférez une expérience de terminal plus traditionnelle, vous pouvez utiliser l'interface bureau. Regardez sur le côté gauche de votre bureau et cliquez sur l'icône intitulée Xfce Terminal.

    open the terminal in desktop interface

Les deux méthodes fonctionnent de manière égale – ce sont simplement différentes façons d'accéder au même environnement de laboratoire. Choisissez celle que vous préférez !

Maintenant, démarrons le shell MongoDB, qui est comme un panneau de contrôle pour notre base de données. Considérez le shell comme un moyen de parler directement à MongoDB – vous tapez des commandes, et MongoDB répond.

Pour démarrer le Shell MongoDB, tapez la commande suivante dans votre terminal et appuyez sur Entrée :

mongosh

Vous verrez un message de connexion, indiquant que vous vous êtes connecté avec succès à l'instance MongoDB locale. La sortie ressemblera à 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 par défaut test.

Listons toutes les bases de données existantes sur le serveur. Tapez la commande suivante dans le shell mongosh :

show dbs

Vous verrez une liste des bases de données par défaut que MongoDB utilise à des fins internes :

admin     40.00 KiB
config   112.00 KiB
local     40.00 KiB

Dans la prochaine étape, vous créerez votre propre base de données.

Créer une Base de Données et Insérer un Document

Dans 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 basculer vers une nouvelle base de données, utilisez la commande use.

Basculons vers une base de données nommée mylab_database. Dans le shell mongosh, tapez :

use mylab_database

Le shell répondra par 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.

Les données dans MongoDB sont stockées dans des collections, qui sont des groupes de 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 : Le nom de la collection. Elle sera créée automatiquement.
  • insertOne() : La méthode pour insérer un document.
  • {...} : Le document lui-même, contenant des champs comme name, age et city.

MongoDB confirmera l'insertion et retournera 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.

Maintenant, vérifions que le document a été ajouté. Utilisez la méthode find() pour afficher tous les documents de la collection users :

db.users.find()

La sortie affichera le document que vous venez d'insérer :

[
  {
    _id: ObjectId("..."),
    name: 'JohnDoe',
    age: 30,
    city: 'NewYork'
  }
]

Insérer Plusieurs Documents

Souvent, vous aurez besoin d'ajouter plusieurs documents à la fois. La méthode insertMany() est parfaite pour cela. Elle prend un tableau (array) 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 {...} à l'intérieur du tableau est un document distinct.

MongoDB confirmera l'opération et retournera les valeurs _id pour tous les documents insérés :

{
  acknowledged: true,
  insertedIds: {
    '0': ObjectId("..."),
    '1': ObjectId("..."),
    '2': ObjectId("...")
  }
}

Pour voir tous les documents de votre nouvelle collection books, utilisez à nouveau la méthode find() :

db.books.find()

La sortie listera les trois documents de livres que vous venez d'ajouter.

Interroger et Compter les Documents

Maintenant que vous avez des données, apprenons comment les récupérer et les compter.

Pour compter le nombre total de documents dans une collection, utilisez la méthode countDocuments(). Comptons les livres dans notre collection books :

db.books.countDocuments()

La commande retournera le compte total :

3

Pour trouver des documents spécifiques, vous passez un filtre de requête à la méthode find(). Un filtre de requête est un document qui spécifie 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 retourner uniquement les documents où le champ author a la valeur "JohnDoe".

Vous pouvez également interroger en fonction de valeurs numériques. Trouvons tous les livres publiés en 2023 :

db.books.find({ year: 2023 })

Ceci retournera le livre "MongoDBBasics". La méthode find() est un outil puissant pour récupérer les données exactes dont vous avez besoin.

Supprimer des Documents

Enfin, apprenons comment supprimer des documents d'une collection.

Pour supprimer un seul document qui correspond à une condition spécifique, utilisez la méthode deleteOne(). Supprimons le livre intitulé "MongoDBBasics" :

db.books.deleteOne({ title: "MongoDBBasics" })

Le shell confirmera qu'un document a été supprimé :

{ acknowledged: true, deletedCount: 1 }

Pour supprimer plusieurs documents qui correspondent à une condition, utilisez deleteMany(). Cette méthode prend en charge les opérateurs de requête pour créer des conditions plus complexes. Par exemple, $lt signifie "less than" (inférieur à).

Supprimons tous les livres publiés avant l'année 2022 :

db.books.deleteMany({ year: { $lt: 2022 } })

Cette commande supprime tous les documents où le champ year est inférieur à 2022. Dans notre cas, elle supprimera le "DataScienceHandbook".

Pour voir quels livres restent, exécutez la commande find() une dernière fois :

db.books.find()

Seul le livre "PythonProgramming" devrait rester dans la collection.

Vous avez maintenant pratiqué les opérations CRUD (Create, Read, Update, Delete - Créer, Lire, Mettre à jour, Supprimer) de base dans MongoDB. Pour quitter le shell mongosh, tapez :

exit

Résumé

Félicitations pour avoir terminé votre premier laboratoire MongoDB ! Vous avez appris et pratiqué avec succès les opérations de base pour gérer les données dans une base de données MongoDB.

Dans ce laboratoire, vous avez appris à :

  • Démarrer le shell mongosh pour interagir avec un serveur MongoDB.
  • Utiliser la commande use pour basculer vers une base de données.
  • Insérer des documents uniques et multiples en utilisant insertOne() et insertMany().
  • Récupérer des documents en utilisant find() avec et sans filtres de requête.
  • Compter les documents dans une collection avec countDocuments().
  • Supprimer des documents en utilisant deleteOne() et deleteMany().

Ces compétences fondamentales sont les éléments constitutifs pour développer des applications puissantes avec MongoDB. La pratique est essentielle, alors n'hésitez pas à expérimenter davantage avec les commandes que vous avez apprises.