Dieses Kapitel zeigt, wie man die Abfrageergebnisse in MongoDB sortiert, ähnlich wie die Verwendung der ORDER BY-Klausel in MySQL. Die Paginierung in MongoDB wird durch die sort-Funktion des Cursor Cursors erreicht.

Vorbereiten von Testdaten

Fügen Sie einige Datensätze in die Restaurants-Sammlung ein

db.restaurants.insertMany( [
   { "_id" : 1, "name" : "Central Park Cafe", "borough" : "Manhattan"},
   { "_id" : 2, "name" : "Rock A Feller Bar and Grill", "borough" : "Queens"},
   { "_id" : 3, "name" : "Empire State Pub", "borough" : "Brooklyn"},
   { "_id" : 4, "name" : "Stan's Pizzaria", "borough" : "Manhattan"},
   { "_id" : 5, "name" : "Jane's Deli", "borough" : "Brooklyn"},
] );

Ergebnisse sortieren

db.restaurants.find({}).sort({_id:1})

Erklärung:

  • Verwenden Sie die sort-Funktion, um das Sortierfeld festzulegen.
  • Abfragen aller Daten und Sortieren nach _id in aufsteigender Reihenfolge.

Format der Parameter der Sortierfunktion:

<field>: 1 oder -1

Erklärung:

  • 1 steht für aufsteigende Reihenfolge.
  • -1 steht für absteigende Reihenfolge.

Kombinieren mit Pagination

db.restaurants.find({}).limit(2).skip(2).sort({_id:-1})

Erklärung:

  • Abfragen aller Daten, maximal 2 Datensätze zurückgeben, 2 Datensätze überspringen und nach _id in absteigender Reihenfolge sortieren.