Dakar Institute of Technology: Licence 2 Big Data
TD 2 Bases de données NoSQL
0. Importer la collection livres à partir de [Link]
1. Requêtes de filtrage (proposer 2 cas : $match et find())
1. Trouver les livres de la catégorie "Fiction" publiés après l'année 2000.
2. Lister les livres dont le prix est supérieur à 30 et qui sont disponibles.
2. Agrégation avec $group et $sum
3. Calculer le nombre total de livres par catégorie.
4. Trouver le prix total des livres disponibles.
5. Calculer le nombre d’avis par livre.
3. Calculs avec $avg, $sum, et $subtract
6. Calculer le prix moyen des livres par catégorie.
7. Trouver l'année moyenne de publication des livres.
8. Afficher la différence entre l’année de publication la plus ancienne et la plus
récente.
4. Tri et limitation avec $sort et $limit
9. Afficher les 5 livres les plus récents.
10. Lister les 3 livres les plus chers dans chaque catégorie.
11. Afficher le top 3 des auteurs ayant écrit le plus de livres.
5. Ajout de champs avec $addFields
12. Ajouter un champ "prix_tva" en appliquant une TVA de 20% au prix du livre.
13. Ajouter un champ "ancien" qui indique true si le livre a été publié avant 1950,
sinon false.
6. Requêtes combinées
14. Trouver les catégories ayant plus de 10 livres et les trier par ordre décroissant du
nombre de livres.
15. Calculer le prix moyen des livres par auteur, et trier les auteurs par prix moyen
décroissant.
16. Afficher le livre ayant reçu le plus grand nombre d'avis.
7. Sous-documents et tableaux
17. Trouver les livres ayant au moins un avis avec une note de 5.
18. Lister les 3 utilisateurs ayant laissé le plus d'avis.
19. Calculer la note moyenne de chaque livre et afficher uniquement ceux dont la
note moyenne est supérieure à 4.
20. Afficher le livre ayant reçu la meilleure note moyenne.