Query-Operatoren verwenden
In diesem Schritt lernst du, wie du MongoDB-Query-Operatoren verwendest, um komplexere und flexiblere Abfragen durchzuführen. Query-Operatoren ermöglichen es dir, fortgeschrittene Filter zu erstellen, die über exakte Übereinstimmungen hinausgehen.
Stellen Sie zunächst sicher, dass Sie in der MongoDB-Shell sind und die bookstore
-Datenbank verwenden:
use bookstore
Fügen wir noch ein paar Bücher zu unserer Sammlung hinzu, um verschiedene Operatoren zu demonstrieren:
db.books.insertMany([
{ title: "Advanced Python", author: "John Smith", year: 2020, price: 39.99 },
{
title: "Data Science Handbook",
author: "Jane Doe",
year: 2019,
price: 45.5
},
{
title: "Machine Learning Basics",
author: "Alice Johnson",
year: 2021,
price: 55.25
}
]);
Lassen Sie uns einige häufige Query-Operatoren erkunden:
- Greater Than (
$gt
) und Less Than ($lt
) Operatoren:
Finden Sie Bücher, die nach 2020 veröffentlicht wurden:
db.books.find({ year: { $gt: 2020 } });
Finden Sie Bücher, die vor 2020 veröffentlicht wurden:
db.books.find({ year: { $lt: 2020 } });
- Greater Than or Equal To (
$gte
) und Less Than or Equal To ($lte
) Operatoren:
Finden Sie Bücher, die im Jahr 2020 oder danach veröffentlicht wurden:
db.books.find({ year: { $gte: 2020 } });
- Not Equal (
$ne
) Operator:
Finden Sie Bücher, die nicht von John Smith geschrieben wurden:
db.books.find({ author: { $ne: "John Smith" } });
- In (
$in
) Operator:
Finden Sie Bücher von bestimmten Autoren:
db.books.find({ author: { $in: ["John Smith", "Jane Doe"] } });
- Not In (
$nin
) Operator:
Finden Sie Bücher, die nicht von diesen Autoren geschrieben wurden:
db.books.find({ author: { $nin: ["John Smith", "Jane Doe"] } });
- Mehrere Bedingungen:
Kombinieren Sie Operatoren für komplexere Abfragen:
db.books.find({
year: { $gte: 2020 },
price: { $lt: 50 }
});
Diese Abfrage findet Bücher, die im Jahr 2020 oder danach veröffentlicht wurden und einen Preis von weniger als 50 haben.