1.
Trouver les étudiants de niveau L1 ou L2
db.etudiants.find({ niveau: { $in: ["L1", "L2"] } })
2. Sélectionner les étudiants ayant une note en mathématiques supérieure à 15
db.etudiants.find({ "notes.math": { $gt: 15 } })
3. Trouver les étudiants dont l'âge est inférieur ou égal à 21
db.etudiants.find({ age: { $lte: 21 } })
4. Trouver les étudiants qui ne sont pas inscrits
db.etudiants.find({ inscription: false })
5. Sélectionner les étudiants avec une note en informatique de 17
db.etudiants.find({ "notes.informatique": 17 })
6. Sélectionner les étudiants de niveau M1 ou M2 ayant une note en mathématique entre 10 et 20
db.etudiants.find({ niveau: { $in: ["M1", "M2"] }, "notes.math": { $gte: 10, $lte: 20 } })
7. Sélectionner les étudiants de niveau L3 ou M2, ayant une note en mathématique ou en
informatique de 17 ou plus
db.etudiants.find({ niveau: { $in: ["L3", "M2"] },
$or: [ { "notes.math": { $gte: 17 } }, { "notes.informatique": { $gte: 17 } } ] })
===========================================================================
Exercices2 : Avancés MongoDB pour la Collection etudiants
1. Trouver les étudiants inscrits qui ont une note en mathématiques supérieure à 15 et dont le
prénom "Ali".
db.etudiants.find({ inscription: true, "notes.math": { $gt: 15 }, prenom: "Ali" })
2. Sélectionner les étudiants de niveau M1 ou M2 ayant une note en informatique inférieure à 15 mais
supérieure à 12.
db.etudiants.find({ niveau: { $in: ["M1", "M2"] }, "notes.informatique": { $gt: 12, $lt: 15 }})
3. Sélectionner les étudiants de niveau L2 ayant soit une note en mathématiques supérieure à 14, soit
en informatique inférieure à 10.
db.etudiants.find({ niveau: "L2",
$or: [ { "notes.math": { $gt: 14 } }, { "notes.informatique": { $lt: 10 } } ]})
4. Trouver les étudiants âgés de 21 ans ou plus qui ne sont pas inscrits et qui ont une note en
mathématiques de 10 ou en informatique supérieure à 16.
db.etudiants.find({ age: { $gte: 21 }, inscription: false,
$or: [ { "notes.math": 10 },{ "notes.informatique": { $gt: 16 } }] })
5. Trouver les étudiants dont le prénom se termine par la lettre "n" et qui ont une note en
mathématiques comprise entre 12 et 18 inclusivement.
db.etudiants.find({prenom: { $regex: "n$" }, "notes.math": { $gte: 12, $lte: 18 } })
6. Sélectionner les étudiants de niveau M1 ou supérieur (M1 et M2) avec une note en
mathématiques inférieure ou égale à la note en informatique.
db.etudiants.find({ niveau: { $in: ["M1", "M2"] }, $expr: { $lte: ["$notes.math", "$notes.informatique"]
}})
7. Sélectionner les étudiants dont l'âge est un multiple de 5 et ayant une note en informatique
supérieure à 12.
db.etudiants.find({ age: { $mod: [5, 0] }, "notes.informatique": { $gt: 12 } })
8. Trouver les étudiants inscrits ayant au moins une note (math ou informatique) supérieure à 15 et au
plus 24 ans.
db.etudiants.find({ inscription: true, age: { $lte: 24 },
$or: [ { "notes.math": { $gt: 15 } }, { "notes.informatique": { $gt: 15 } }] })
9. Sélectionner les étudiants ayant une note en mathématiques égale ou supérieure à 12 et une note
en informatique qui n’est ni 10 ni 13.
db.etudiants.find({ "notes.math": { $gte: 12 }, "notes.informatique": { $nin: [10, 13] } })
10. Trouver les étudiants qui ne sont pas de niveau L1 et qui ont soit une note en informatique de 17,
soit une note en mathématiques inférieure à 10.
db.etudiants.find({ niveau: { $ne: "L1" },
$or: [ { "notes.informatique": 17 }, { "notes.math": { $lt: 10 } } })