Appliquer plusieurs conditions
Dans cette étape, vous allez apprendre à appliquer plusieurs conditions lors de l'interrogation des collections MongoDB. Plusieurs conditions vous permettent de créer des requêtes plus précises et complexes pour filtrer efficacement vos données.
Tout d'abord, ouvrez un terminal et lancez le shell MongoDB :
mongosh
Maintenant, créons une collection d'étudiants de démonstration pour illustrer les requêtes avec plusieurs conditions :
use school_database
db.students.insertMany([
{ name: "Alice", age: 22, grade: "A", major: "Computer Science" },
{ name: "Bob", age: 20, grade: "B", major: "Mathematics" },
{ name: "Charlie", age: 25, grade: "A", major: "Physics" },
{ name: "David", age: 19, grade: "C", major: "Computer Science" }
])
Explorons comment appliquer plusieurs conditions à l'aide de l'opérateur $and
. Cela nous permet de spécifier plusieurs conditions qui doivent toutes être vraies :
db.students.find({
$and: [{ age: { $gte: 20 } }, { grade: "A" }]
});
Cette requête retournera les étudiants âgés de 20 ans ou plus ET ayant une note de "A". Détaillemos les conditions :
$gte
signifie "plus grand ou égal à"
$and
garantit que les deux conditions doivent être remplies
Vous devriez voir une sortie similaire à :
[
{
_id: ObjectId("..."),
name: 'Alice',
age: 22,
grade: 'A',
major: 'Computer Science'
},
{
_id: ObjectId("..."),
name: 'Charlie',
age: 25,
grade: 'A',
major: 'Physics'
}
]
Nous pouvons également utiliser l'opérateur $or
pour trouver les documents qui correspondent à au moins une condition :
db.students.find({
$or: [{ major: "Computer Science" }, { age: { $lt: 21 } }]
});
Cette requête retournera les étudiants qui sont soit en informatique soit âgés de moins de 21 ans.
Le résultat inclura des étudiants comme David (moins de 21 ans) et Alice et David (étudiants en informatique).