- TP 3- (Manipulation avancée)
Validation, Agrégation, et indexation
Objectif : Ce TP permet de découvrir et d’appliquer des concepts avancés de MongoDB,
notamment l’utilisation des schémas de validation pour garantir l’intégrité des données,
l’agrégation pour analyser et transformer les données, ainsi que l’indexation pour
améliorer les performances des requêtes.
Exercices :
1. Créer une BD et une collection
Créez une base de données appelée librairie. - titre : (AA, AB, AC, AD, AE, AF, etc).
Dans cette base, créez une collection appelée - auteur :(J D, S K, V H, J R, P C, R B, G M,..)
livres pour gérer les informations sur les - genre : Genre du livre (policier, philosophie,
livres.
histoire, poésie, aventure, etc.).
2. Validation des données - annee_publication : Année de pub.
- prix : Prix du livre.
Appliquez un schéma de validation à la collection - Stock : le nombre d’exemplaires en stock.
livres pour garantir la qualité des données. Ce
schéma doit respecter les règles suivantes :
Test : Essayez d'insérer un document non valide (des
Les champs titre, auteur et genre sont données qui ne respectent pas les contraintes
obligatoires et doivent être des chaînes de définies dans le schéma) Et Vous pouvez voir
caractères.
Le champ annee_publication doit être un cette erreur directement dans MongoDB Shell.
entier supérieur à 1500.
Le champ prix doit être un nombre compris
entre 1 et 100.
Le champ stock doit être un entier positif.
Une fois le schéma de validation appliqué :
Insérez des documents (min 20 (avec plus de 4
livres dans chaque genre)) représentant des
livres avec les champs suivants :
BDD NoSql et cloud ---M2 ASD ---------Dr. Djaghbellou Soumia-------2024-2025
3. Agrégation des données
Effectuez les analyses suivantes sur les livres : 4. Indexation (Optimiser les performances
avec des index)
Regrouper les livres par genre et calculer :
Créez un index simple sur le champ auteur pour
o Le nombre total de livres par genre.
o Le prix moyen des livres dans accélérer la recherche par auteur
chaque genre. Recherchez tous les livres écrits par un auteur
Identifier les livres les plus anciens publiés spécifique et observez les performances avant
après l’année 1900 :
et après l’indexation.
o Récupérez les titres et auteurs des 5
livres les plus anciens publiés après
1900.
Calculer les revenus potentiels par genre :
o Multipliez le prix par le stock pour
estimer le revenu potentiel total
pour chaque genre.
Indication : Utilisez les opérateurs $group,
$match, $sort, $limit, et $project.
$limit : l’operateur utilisé pour limiter le
nombre de résultats à afficher.
BDD NoSql et cloud ---M2 ASD ---------Dr. Djaghbellou Soumia-------2024-2025