Créer une Collection MongoDB

MongoDBBeginner
Pratiquer maintenant

Introduction

Dans ce laboratoire, vous apprendrez les étapes fondamentales pour travailler avec MongoDB. Vous utiliserez le MongoDB Shell (mongosh) pour créer une base de données, ajouter une collection, insérer des documents et effectuer des opérations de gestion de données de base. Cette approche pratique vous donnera une expérience concrète des commandes MongoDB essentielles, établissant ainsi une base solide pour des tâches de base de données plus avancées.

Démarrer le Shell MongoDB et Créer une Base de Données

Votre première étape consiste à vous connecter au serveur MongoDB en utilisant son shell interactif, mongosh. Cet outil vous permet d'exécuter des commandes directement sur votre instance de base de données.

Dans votre terminal, démarrez le Shell MongoDB en exécutant la commande mongosh.

mongosh

Vous verrez un message de connexion, indiquant que vous êtes maintenant dans l'environnement mongosh.

Current Mongosh Log ID: 65a7f3e8f5a8a9b3c4d5e6f7
Connecting to:           mongodb://127.0.0.1:27017/
Using MongoDB:           8.0.2
Using Mongosh:           2.2.6
...
test>

L'invite test> indique que vous êtes actuellement connecté à la base de données par défaut test. Passons à une nouvelle base de données pour notre projet. Dans MongoDB, vous pouvez passer à une base de données qui n'existe pas encore. Elle sera créée automatiquement lorsque vous y stockerez des données pour la première fois.

Utilisez la commande use pour passer à une nouvelle base de données nommée my_store.

use my_store

Le shell confirmera le changement.

switched to db my_store

Pour confirmer la base de données que vous utilisez actuellement, vous pouvez taper db.

db;

La sortie affichera le nom de la base de données actuelle.

my_store

Créer une Collection et Insérer un Document

Maintenant que vous êtes dans la base de données my_store, l'étape suivante consiste à créer une collection. Une collection est un groupe de documents MongoDB, similaire à une table dans une base de données relationnelle.

Créons une collection nommée products. Vous pouvez le faire explicitement avec la méthode createCollection().

db.createCollection("products");

Une opération réussie retournera un objet indiquant le succès.

{ ok: 1 }

Vous pouvez lister toutes les collections de la base de données actuelle pour vérifier que products a été créée.

show collections
products

Une fois la collection créée, vous pouvez maintenant insérer votre premier document. Un document est un objet BSON, qui est une sérialisation encodée en binaire de documents similaires à JSON.

Utilisez la méthode insertOne() pour ajouter un seul document à la collection products.

db.products.insertOne({
  name: "Laptop",
  price: 1200,
  category: "Electronics"
});

MongoDB confirmera l'insertion et fournira l'_id unique du nouveau document.

{
  acknowledged: true,
  insertedId: ObjectId("...")
}

Cet ObjectId est généré automatiquement pour chaque document et sert de clé primaire.

Insérer Plusieurs Documents

Souvent, vous aurez besoin d'ajouter plusieurs documents à une collection en une seule fois. MongoDB fournit la méthode insertMany() à cet effet. Cette méthode est plus efficace que d'appeler insertOne() plusieurs fois.

Ajoutons deux autres produits à notre collection products. La méthode insertMany() prend un tableau d'objets documents comme argument.

db.products.insertMany([
  {
    name: "Keyboard",
    price: 75,
    category: "Electronics"
  },
  {
    name: "Desk Chair",
    price: 150,
    category: "Furniture"
  }
]);

La sortie confirmera que l'opération a été reconnue et listera les valeurs _id pour chacun des documents nouvellement insérés.

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

Maintenant, vérifions le nombre total de documents dans la collection products. Vous pouvez utiliser la méthode countDocuments() pour cela.

db.products.countDocuments();

Le shell devrait retourner 3, reflétant le document de l'étape précédente et les deux que vous venez d'ajouter.

3

Interroger et Afficher les Documents

Après avoir inséré des données, vous voudrez les récupérer et les afficher. La méthode principale pour interroger une collection est find().

Pour afficher tous les documents de la collection products, exécutez la méthode find() sans aucun argument.

db.products.find();

Le shell mongosh formate automatiquement la sortie pour une meilleure lisibilité, affichant les trois documents de votre collection.

[
  {
    _id: ObjectId("..."),
    name: 'Laptop',
    price: 1200,
    category: 'Electronics'
  },
  {
    _id: ObjectId("..."),
    name: 'Keyboard',
    price: 75,
    category: 'Electronics'
  },
  {
    _id: ObjectId("..."),
    name: 'Desk Chair',
    price: 150,
    category: 'Furniture'
  }
]

La méthode find() peut également accepter un document de requête pour filtrer les résultats. Cela vous permet de trouver les documents qui correspondent à des critères spécifiques. Par exemple, trouvons tous les produits de la catégorie "Electronics".

db.products.find({ category: "Electronics" });

Cette commande retournera uniquement les documents où le champ category a la valeur "Electronics".

[
  {
    _id: ObjectId("..."),
    name: 'Laptop',
    price: 1200,
    category: 'Electronics'
  },
  {
    _id: ObjectId("..."),
    name: 'Keyboard',
    price: 75,
    category: 'Electronics'
  }
]

Cette capacité de filtrage simple est une fonctionnalité puissante pour récupérer des données spécifiques de vos collections.

Supprimer une Collection

Dans cette dernière étape, vous apprendrez comment supprimer une collection d'une base de données. Cette opération est irréversible et supprime la collection ainsi que tous ses documents et index. Elle est utile pour nettoyer des données temporaires ou supprimer des collections obsolètes.

Pour le démontrer, créons d'abord une collection temporaire.

db.createCollection("temp_data");
{ ok: 1 }

Maintenant, utilisez la méthode drop() sur la collection temp_data pour la supprimer.

db.temp_data.drop();

La commande retournera true si la collection a été supprimée avec succès.

true

Pour vérifier que la collection a été supprimée, vous pouvez lister à nouveau toutes les collections de la base de données.

show collections

La sortie n'affichera maintenant que la collection products, confirmant que temp_data a été supprimée.

products

Ceci conclut les opérations de base pour la gestion des collections dans MongoDB. N'oubliez pas de quitter le shell mongosh lorsque vous avez terminé.

exit;

Résumé

Dans ce laboratoire, vous avez acquis les compétences fondamentales pour travailler avec MongoDB. Vous avez commencé par vous connecter à une instance MongoDB en utilisant le shell mongosh. Vous avez ensuite pratiqué la création d'une base de données et d'une collection, l'insertion de documents uniques et multiples, et l'interrogation de ces données à l'aide de la méthode find(). Enfin, vous avez appris à supprimer en toute sécurité une collection à l'aide de la commande drop(). Ces opérations de base — Créer, Lire et Supprimer (Create, Read, Delete) — sont les éléments constitutifs de toute application utilisant MongoDB comme magasin de données. Vous disposez maintenant des connaissances de base pour gérer les données dans un environnement MongoDB.