Mehrere Bedingungen anwenden
In diesem Schritt lernen Sie, wie Sie mehrere Bedingungen bei der Abfrage von MongoDB-Sammlungen anwenden. Mit mehreren Bedingungen können Sie präzisere und komplexere Abfragen erstellen, um Ihre Daten effektiv zu filtern.
Öffnen Sie zunächst ein Terminal und starten Sie die MongoDB-Shell:
mongosh
Erstellen wir nun eine Beispielsammlung von Schülern, um Mehrbedingungenabfragen zu demonstrieren:
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" }
])
Untersuchen wir, wie wir mehrere Bedingungen mit dem $and
-Operator anwenden können. Dies ermöglicht es uns, mehrere Bedingungen anzugeben, die alle zutreffen müssen:
db.students.find({
$and: [{ age: { $gte: 20 } }, { grade: "A" }]
});
Diese Abfrage wird Schülern zurückgeben, die 20 Jahre oder älter sind UND eine Note von „A“ haben. Zergliedern wir die Bedingungen:
$gte
bedeutet „größer als oder gleich“
$and
stellt sicher, dass beide Bedingungen erfüllt sein müssen
Sie sollten eine Ausgabe ähnlich der folgenden sehen:
[
{
_id: ObjectId("..."),
name: 'Alice',
age: 22,
grade: 'A',
major: 'Computer Science'
},
{
_id: ObjectId("..."),
name: 'Charlie',
age: 25,
grade: 'A',
major: 'Physics'
}
]
Wir können auch den $or
-Operator verwenden, um Dokumente zu finden, die mindestens eine Bedingung erfüllen:
db.students.find({
$or: [{ major: "Computer Science" }, { age: { $lt: 21 } }]
});
Diese Abfrage wird Schülern zurückgeben, die entweder Informatik studieren ODER jünger als 21 Jahre sind.
$lt
bedeutet „kleiner als“
Das Ergebnis wird Schülern wie David (unter 21) und Alice und David (Informatikstudenten) enthalten.