Mehrere Bedingungen anwenden
In diesem Schritt lernen Sie, wie Sie mehrere Bedingungen anwenden, um Dokumente in einer MongoDB-Collection zu filtern. Dies ermöglicht präzisere Abfragen durch die Kombination mehrerer Kriterien.
Öffnen Sie zunächst Ihr Terminal und starten Sie die MongoDB Shell. Diese interaktive Shell ist der Ort, an dem Sie alle Ihre Datenbankbefehle ausführen werden.
mongosh
Sobald Sie sich in der mongosh-Shell befinden, sehen Sie eine > Eingabeaufforderung. Wechseln wir zu einer neuen Datenbank namens school_database und erstellen eine students-Collection mit einigen Beispieldaten.
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" }
]);
Dieser Befehl fügt vier Dokumente in die students-Collection ein. Nun suchen wir nach Studenten, die mehrere Bedingungen erfüllen. Wir verwenden den $and-Operator, um Studenten zu finden, die 20 Jahre oder älter sind UND die Note "A" haben.
db.students.find({
$and: [{ age: { $gte: 20 } }, { grade: "A" }]
});
Diese Abfrage verwendet $gte (größer als oder gleich) und $and, um sicherzustellen, dass beide Bedingungen erfüllt sind. Die Ausgabe zeigt Alice und Charlie:
[
{
_id: ObjectId("..."),
name: 'Alice',
age: 22,
grade: 'A',
major: 'Computer Science'
},
{
_id: ObjectId("..."),
name: 'Charlie',
age: 25,
grade: 'A',
major: 'Physics'
}
]
Als Nächstes verwenden wir den $or-Operator, um Dokumente zu finden, die mindestens eine von mehreren Bedingungen erfüllen. Diese Abfrage findet Studenten, die entweder "Computer Science" studieren ODER jünger als 21 Jahre sind.
db.students.find({
$or: [{ major: "Computer Science" }, { age: { $lt: 21 } }]
});
Diese Abfrage verwendet $lt (kleiner als). Das Ergebnis umfasst Alice und David (Computer Science-Studenten) sowie Bob und David (unter 21). Da David beide Bedingungen erfüllt, wird er einmal angezeigt.
[
{
_id: ObjectId("..."),
name: 'Alice',
age: 22,
grade: 'A',
major: 'Computer Science'
},
{
_id: ObjectId("..."),
name: 'Bob',
age: 20,
grade: 'B',
major: 'Mathematics'
},
{
_id: ObjectId("..."),
name: 'David',
age: 19,
grade: 'C',
major: 'Computer Science'
}
]
Im nächsten Schritt werden Sie weitere Vergleichsoperatoren untersuchen. Vorerst können Sie in der mongosh-Shell bleiben.