<-

Retour

MongoDB: Les Opérations

MongoDB: Les Opérations

Apprenez à utiliser cette base de données NoSQL populaire pour stocker et manipuler des données de manière efficace.

Vous apprendrez à utiliser la syntaxe de MongoDB pour effectuer des opérations CRUD (create, read, update, delete) sur les collections et les documents.

0

Partager sur twitterPartager sur FacebookPartager sur LinkdinPartager sur Telegram

Déscription

Dans ce cours, vous apprendrez les fondamentaux de MongoDB, l'une des bases de données NoSQL les plus populaires utilisées dans le développement web.


Vous apprendrez également à utiliser la syntaxe de MongoDB pour effectuer des opérations CRUD (create, read, update, delete) sur les collections et les documents.


En suivant ce cours, vous serez en mesure de comprendre les principes de base de MongoDB et d'utiliser cette base de données NoSQL populaire pour stocker et manipuler des données de manière efficace.



Prérequis

Ce cours s'adresse aux débutants et ne nécessite pas de connaissances préalables en base de données.


Toutefois, une connaissance de base de la programmation en Javascript et en lignes de commande est un plus.


  1. Intiation au langage Javascript.

  1. BIENTOT: Intiation au langage machine BASH.


Vous devez avoir installé MongoDB sur votre ordinateur avant de commencer ce cours.


Installation et configuration de MongoDB.

Objectifs

  • Comprendre les concepts de base de MongoDB :

    Vous apprendrez les concepts fondamentaux de MongoDB, tels que les collections et les documents, ainsi que les différences avec les bases de données relationnelles.

  • Utiliser MongoDB Compass :

    Vous apprendrez à utiliser l'interface graphique MongoDB Compass pour interagir avec MongoDB.

    Vous découvrirez les fonctionnalités importantes de Compass et vous apprendrez à utiliser la CLI intégrée pour effectuer des opérations de base de données.

  • Comprendre la syntaxe de MongoDB :

    Vous apprendrez la syntaxe de base de MongoDB et vous découvrirez comment effectuer des opérations CRUD (create, read, update, delete) sur les collections et les documents.

  • Créer une base de données et des collections :

    Vous travaillerez sur un exemple pratique de modélisation de données.

  • Manipuler des données avec MongoDB :

    Vous apprendrez à manipuler des données dans MongoDB en utilisant la syntaxe de MongoDB et l'interface graphique MongoDB Compass.


1. Collections et Documents

1. Les Collections

MongoDB stocke les données dans des collections, qui sont similaires aux tables dans les bases de données relationnelles.


Chaque collection contient des documents, l'unité de stockage de données dans MongoDB et est similaire à un enregistrement d'une ligne dans une table SQL.


Representation graphique des collection dans les bases de données No SQL comme MongoDB.


2. Les Documents

Les documents sont stockés dans les collections et contiennent les champs et les valeurs des données.


Representation graphique des documents et leurs contenu dans les bases de données No SQL comme MongoDB.

Contrairement aux tables SQL, les documents n'ont pas besoin d'avoir des champs communs.


Les documents peuvent contenir des champs différents avec des types de données différents, ce qui offre une grande flexibilité pour stocker les données.


Representation graphique des documents et leurs contenu dans les bases de données No SQL comme MongoDB.


3. Les types de données

MongoDB prend en charge différents types de données pour les champs de document, tels que les chaînes de caractères, les nombres, les dates, les tableaux, les objets imbriqués...


Representation graphique des documents et leurs contenu dans les bases de données No SQL comme MongoDB.


2. MongoDB Compass

1. Connexion à MongoDB Compass

MongoDB Compass est un outil de gestion visuel pour MongoDB, qui permet de se connecter à un serveur MongoDB et de visualiser les données stockées dans les collections.


Pour se connecter à MongoDB Compass, il suffit de renseigner les informations de connexion telles que l'adresse IP, le port, le nom d'utilisateur et le mot de passe.


Representation graphique l'interface graphique de Mongo Db Compass lors de la connexion à la base de données.


2. Interface graphique

Une fois connecté, l'interface graphique principale de MongoDB Compass s'affiche, ce qui permet de visualiser les différentes bases de données, collections et documents.


Chacune de ces sections a une fonction spécifique et permet de visualiser et de manipuler les données stockées dans MongoDB.


1. Panneau des Base de donnée

La panneau gauche affiche et permet d'accéder aux différentes bases de données et collections que vous créez.


Representation graphique dedu panneau gauche affichant les base de données et collection de MongoDB avec Compass.

Lorsque MongoDB est installé, il crée trois bases de données par défaut : admin, config et local.


  • La base de données admin est utilisée pour effectuer des opérations d'administration telles que la création de nouveaux utilisateurs, la gestion des autorisations d'accès, la surveillance des performances du serveur et la configuration des réplicas et des clusters de MongoDB.

  • La base de données config est utilisée pour stocker les informations de configuration pour les clusters MongoDB.

  • La base de données local est utilisée par MongoDB pour stocker les données temporaires et les journaux d'opérations.


Il est important de noter que ces trois bases de données ne doivent pas être supprimées ou modifiées, sauf si vous savez exactement ce que vous faites, car cela peut entraîner des problèmes avec le fonctionnement de MongoDB.



2. Panneau des documents

Une fois que vous cliquez sur une collection, le panneau centrale affiche tous les documents et leurs contnus.


Il permet d'éffectuer plusieurs opérations pour lire et manipuler les données de manière simple et lisibile.


Representation graphique du panneau gauche centraile affichant les documents des collection de MongoDB avec Compass.

3. MongoDB Shell

MongoDB Compass fourtnit un terminal nommé Mongosh qui permet d'intéragir avec la base de données grâce a des queries.


Pour ouvrir cette console, vous pouvez cliqué sur >_MONGOSH en bas à gauche de la fenêtre:


Exemple de résultat d'affichage apres la commande show databases dans la console Mongosh de MongodDB Compass.

Pour l'instant, nous somme dans la base de données nommée test, qui n'existe pas.


Il faut savoir que vous pouvez commencer a intéragir avec une base données avant de la créer.


1. Lister des les base de données

Par exemple, pour lister les base de données dans la console, vous pouvez utiliser la commande:


show databases

Exemple de résultat d'affichage apres la commande show databases dans la console Mongosh de MongodDB Compass.


2. Changer de base de données

Vous pouvez changer de base de données en utilisant la commande: use <nom-bd>:


use ma-libraire

Exemple de résultat d'affichage apres la commande use databases dans la console Mongosh de MongodDB Compass pour changer de base de données.


3. Lister les collection

Pour afficher/lister toutes les collection de la base de données sur laquel vous êtes, vous pouvez utiliser cette commande:


show collections

Exemple de résultat d'affichage apres la commande show collections dans la console Mongosh de MongodDB Compass pour afficher toutes les collections de la base de données.

4. Opérations

La syntaxe de MongoDB est basée sur l'utilisation de commandes Javascript pour interagir avec les collections et les documents.


Les commandes sont appelées des opérations, et sont utilisées pour effectuer des tâches telles que la création, la mise à jour, la lecture et la suppression de données dans la base de données.


La commande doit être envoyée à la base de données à l'aide d'un client MongoDB, tel que la CLI de Compass, un driver MongoDB pour un langage de programmation ou un ORM.


1. Ajouter de documents

Pour créer un nouveau document dans une collection, la commande insertOne peut être utilisée.


Il est possible de spécifier les valeurs pour chaque champ dans le document à créer:


db.ma_collection.insertOne({ champ1: valeur1, champ2: valeur2 })

Par exemple, pour créer un nouveau document dans une collection books la commande suivante peut être utilisée :


db.books.insertOne({ 
    title: "Les misérables", 
    price: 19.99,
    date: new Date('1862-03-04'),
    online: false,
    tags: ['Historique', 'Roman'],
    author: {
      name: "Victor Hugo",
      alive: false
    }
  })

Exemple de résultat d'affichage apres la commande d'ajout de document dans la console Mongosh de MongodDB Compass.

Vous remarquez que MongoDB à créer un identifiant unique automatiquement lors de la création de documents


Vous pouvez créer plusieurs documents en une seule commande:


db.ma_collection.insertMany([ 
  { champ1: valeur1, champ2: valeur2 },
  { champ1: valeur3, champ2: valeur4 }
])

Par exemple, pour créer plusieurs document dans une collection books, la commande suivante peut être utilisée :


db.books.insertMany([{
    title: "Harry Potter and the Philosopher's Stone",
    price: 10.99,
    date: new Date('1997-06-26'),
    online: true,
    tags: ['Fantasy', 'Young Adult'],
    author: {
      name: "J.K. Rowling",
      alive: true
    }
  },
  {
    title: "The Shining",
    price: 8.99,
    date: new Date('1977-01-28'),
    online: true,
    tags: ['Horror', 'Thriller'],
    author: {
      name: "Stephen King",
      alive: true
    }
  },
  {
    title: "Twenty Thousand Leagues Under the Sea",
    price: 12.99,
    date: new Date('1870-01-01'),
    online: false,
    tags: ['Science Fiction', 'Adventure'],
    author: {
      name: "Jules Verne",
      alive: false
    }
  }
])

Exemple de résultat d'affichage apres la commande d'ajout de plusieurs documents dans la console Mongosh de MongodDB Compass.


2. Lire des documents

Pour lire des documents dans une collection, la commande find peut être utilisée.


Par exemple, nous pouvons l'utiliser pour récuperer tous les livres de la collection books:


db.books.find()

Exemple de résultat d'affichage apres la commande find dans la console Mongosh de MongodDB Compass pour récuperer tous les livre de la collection books.


Cette commande permet aussi de spécifier des critères de recherche pour sélectionner des documents spécifiques dans la collection.


Il suffit de préciser les critères dans un objet en paramètre a cette fonction:


db.ma_collection.find({ critere1: valeur1, critere2: valeur2 })

Par exemple, pour trouver dans la collection books tous les livres en ligne, la commande suivante peut être utilisée :


db.books.find({ online: true})

Ou récuperer tous les livre en ligne dont l'auteur est J.K. Rowling avec :


db.books.find({ author:{ name: "J.K. Rowling" }, online: true})

Vous pouvez aussi récuperer le premièr document trouvé qui satisfait les critère mentionnées avec la commande:


db.ma_collection.findOne({ critere1: valeur1, critere2: valeur2 })

3. mettre à jour des documents

Pour mettre à jour un document dans une collection, la commande updateOne(filters, updates) peut être utilisée.


Cette commande peut prendre deux paramètres:


  • les filtres filters: Un objet pour spécifier qu'elle est le document à modifié.
  • La mise à jour updates: Un objet avec l'opérateur $set permettant de préciser les clés à mettre à jour ainsi que leurs nouvelles valeurs.

  db.books.updateOne({ critere1: valeur1 }, { $set:{ champ1: nouvelleValeur1, champ2: nouvelleValeur2 }});

Par exemple pour mettre en ligne le livre portant le titre Les misérables, vous pouvez utiliser cette commande:


db.books.updateOne({ title: "Les misérables" }, { $set: { online: true } })

4. Supprimer des documents

Pour supprimer un document dans une collection, la commande deleteOne peut être utilisée.


Cette commande permet de spécifier les critèrse de sélection du document à supprimer


  db.books.deleteOne({ critere1: valeur1 });

Par exemple pour supprimer le livre portant le titre Les misérables, vous pouvez utiliser cette commande:


db.books.updateOne({ title: "Les misérables" })


Conclusion

En conclusion, ce cours sur MongoDB a couvert les bases de la syntaxe pour lire et manipuler les données avec MongoDB.

Dans le prochain article, nous allons aborder les opérateurs et comment les utiliser pour filtrer et manipuler les données de manière plus complexe.


Aller plus loin

Commentaires

IsLoading