Maîtrisez MongoDB avec ces scripts essentiels : Du CRUD aux opérations avancées

MongoDB, la base de données NoSQL flexible et évolutive, offre une multitude de possibilités pour gérer vos données de manière efficace. Pour vous aider à exploiter tout son potentiel, nous avons compilé une liste de scripts MongoDB couvrant les opérations les plus courantes, du CRUD de base aux tâches plus avancées telles que l’agrégation et les transactions.

1. Opérations CRUD (Create, Read, Update, Delete)

Les opérations CRUD sont la base de toute interaction avec une base de données. MongoDB propose des méthodes simples et intuitives pour effectuer ces opérations :

  • Création de documents :
  • db.collection.insertOne({ nom: "Alice", age: 25 }) : Insère un document unique dans la collection spécifiée
  • db.collection.insertMany([{ … }, { … }]) : Insère plusieurs documents à la fois
  • Lecture de documents :
  • db.collection.find({ age: { $gt: 20 } }) : Recherche tous les documents dont l’âge est supérieur à 20
  • db.collection.findOne({ nom: « Alice » }) : Recherche le premier document correspondant au nom « Alice »
  • Mise à jour de documents :
  • db.collection.updateOne({ nom: « Alice » }, { $set: { age: 26 } }) : Met à jour l’âge d’Alice à 26
  • db.collection.updateMany({ age: { $lt: 30 } }, { $inc: { age: 1 } }) : Incrémente l’âge de tous les documents dont l’âge est inférieur à 30
  • Suppression de documents :
  • db.collection.deleteOne({ nom: « Bob » }) : Supprime le premier document correspondant au nom « Bob »
  • db.collection.deleteMany({ age: { $gte: 40 } }) : Supprime tous les documents dont l’âge est supérieur ou égal à 40

2. Requêtes avancées

MongoDB offre un langage de requête puissant pour effectuer des recherches complexes et précises :

  • Projection :
  • db.collection.find({ }, { nom: 1, age: 1, _id: 0 }) : Ne retourne que les champs nom et age, excluant l’_id
  • Tri :
  • db.collection.find().sort({ age: -1 }) : Trie les documents par ordre décroissant d’âge
  • Pagination :
  • db.collection.find().skip(10).limit(5) : Ignore les 10 premiers documents et retourne les 5 suivants
  • Opérateurs de requête :
  • db.collection.find({ age: { $in: [25, 30] } }) : Recherche les documents dont l’âge est 25 ou 30
  • db.collection.find({ $or: [{ age: 25 }, { nom: « Charlie » }] }) : Recherche les documents dont l’âge est 25 ou le nom est « Charlie »

3. Indexation

L’indexation est essentielle pour accélérer les requêtes MongoDB :

  • Création d’index :
  • db.collection.createIndex({ nom: 1 }) : Crée un index ascendant sur le champ nom
  • db.collection.createIndex({ age: 1 }, { unique: true }) : Crée un index unique ascendant sur le champ age
  • Liste des index :
  • db.collection.getIndexes() : Affiche tous les index de la collection

4. Agrégation

L’agrégation permet d’effectuer des calculs et des transformations complexes sur les données :

  • Calcul de statistiques :
  • db.collection.aggregate([{ $group: { _id: null, moyenne_age: { $avg: « $age » } } }]) : Calcule la moyenne d’âge de tous les documents
  • Regroupement et comptage :
  • db.collection.aggregate([{ $group: { _id: « $ville », nombre_habitants: { $sum: 1 } } }]) : Compte le nombre d’habitants par ville

5. Transactions

Les transactions garantissent la cohérence des données dans les opérations critiques :

  • Exécution d’une transaction :
    JavaScript
    const session = db.getMongo().startSession();
    session.startTransaction();
    try {
      // Opérations à effectuer dans la transaction
      session.commitTransaction();
    } catch (error) {
      session.abortTransaction();
    } finally {
      session.endSession();
    }

6. Autres scripts utiles

  • Sauvegarde et restauration :
  • mongodump et mongorestore permettent de sauvegarder et de restaurer des bases de données entières ou des collections spécifiques
  • Importation et exportation de données :
  • mongoimport et mongoexport permettent d’importer et d’exporter des données depuis/vers des fichiers JSON ou CSV

Conclusion

Ces scripts vous offrent un point de départ solide pour maîtriser MongoDB et effectuer des opérations courantes et avancées sur vos données. N’hésitez pas à explorer la documentation officielle de MongoDB pour découvrir d’autres commandes et fonctionnalités, et à expérimenter pour adapter ces scripts à vos besoins spécifiques. Avec MongoDB et ces scripts, vous disposez des outils nécessaires pour gérer efficacement vos données et propulser vos applications vers de nouveaux sommets.

Leave a Comment