Dokumente nach einem einzelnen Feld sortieren
In diesem Schritt lernen Sie, wie Sie Dokumente in einer MongoDB-Sammlung sortieren. Sortieren ermöglicht es Ihnen, Abfrageergebnisse in einer bestimmten Reihenfolge zu organisieren, was für die Datenanalyse und -präsentation entscheidend ist. Ihre Umgebung wurde mit einer bookstore-Datenbank vorkonfiguriert, die eine books-Sammlung enthält.
Öffnen Sie zunächst die MongoDB-Shell, um mit der Datenbank zu interagieren. Führen Sie in Ihrem Terminal den folgenden Befehl aus:
mongosh
Sobald Sie sich in der Shell befinden, wechseln Sie zur bookstore-Datenbank.
use bookstore
Um die Dokumente in der books-Sammlung anzuzeigen, können Sie die find()-Methode verwenden.
db.books.find();
Nun sortieren wir diese Dokumente. Um nach einem einzelnen Feld zu sortieren, verketten Sie die .sort()-Methode mit einer find()-Abfrage. Die sort()-Methode nimmt ein Objekt entgegen, das das zu sortierende Feld und die Richtung angibt: 1 für aufsteigend und -1 für absteigend.
Sortieren wir die Bücher nach der Seitenzahl in aufsteigender Reihenfolge (von den wenigsten zu den meisten Seiten).
db.books.find().sort({ pages: 1 });
Sie sehen, dass das Buch mit den wenigsten Seiten, "Python Basics", zuerst aufgeführt wird.
[
{
_id: ObjectId('...'),
title: 'Python Basics',
pages: 250,
price: 29.99
},
{
_id: ObjectId('...'),
title: 'MongoDB Fundamentals',
pages: 300,
price: 34.99
},
...
]
Als Nächstes sortieren wir die Bücher nach Preis in absteigender Reihenfolge, um zuerst die teuersten zu finden.
db.books.find().sort({ price: -1 });
Dieser Befehl zeigt "Data Science" ganz oben an, da es den höchsten Preis hat.
[
{
_id: ObjectId('...'),
title: 'Data Science',
pages: 350,
price: 44.99
},
{
_id: ObjectId('...'),
title: 'JavaScript Advanced',
pages: 400,
price: 39.99
},
...
]