Sortieren nach Zeitstempel in MongoDB

Shraddha Paghdar 20 Juni 2023
Sortieren nach Zeitstempel in MongoDB

Der heutige Beitrag befasst sich mit vielen Methoden zum Sortieren von Zeitstempeln in MongoDB.

Sortieren nach Zeitstempel in MongoDB

Die Methode sort() sortiert die Dokumente in MongoDB. Die Methode akzeptiert ein Dokument mit einer Liste von Feldern und der Reihenfolge, in der sie sortiert werden sollen.

1 und -1 geben die Sortierreihenfolge an. Verwenden Sie für aufsteigende Reihenfolge 1; Verwenden Sie für absteigende Reihenfolge 1.

Syntax:

db.collection_name.find().sort({ field_name : 1 | -1 })

In diesem Fall wird die Sammlung, auf der Sie die Sortierung durchführen möchten, durch Sammlungsname angegeben. Das Feld, das entweder in der Reihenfolge ASC oder DESC sortiert werden muss, wird durch field_name angegeben.

Die Methode sort() zeigt die Seiten in aufsteigender Reihenfolge an, wenn Sie Ihre bevorzugte Sortierreihenfolge nicht angeben. Eine instabile Sortierung liefert jedes Mal ein anderes Ergebnis, wenn sie auf denselben Datensatz angewendet wird.

Mithilfe von Indizes kann MongoDB das Ergebnis des Sortiervorgangs finden. MongoDB führt den top-k-Sortieralgorithmus aus, wenn das Index-Scannen die Sortierreihenfolge nicht bestimmen kann.

Betrachten Sie das folgende Beispiel, um die vorherige Idee besser zu verstehen.

> db.employees.find().sort({ "joining_date" : -1 })

In obigem Beispiel sortieren wir die Mitarbeiter nach ihrem Eintrittsdatum in die Sammlung Mitarbeiter. In der Spalte Eintrittsdatum wird das ISO-formatierte Eintrittsdatum des Mitarbeiters festgehalten.

Sie können auch _id verwenden, da es einen Zeitstempel hat, wenn Sie basierend auf dem Feld created_at sortieren möchten. Das führt zum gleichen Ergebnis.

> db.employees.find().sort({ "_id" : -1 })
or
> db.employees.find().sort({ "create_at" : -1 })

Führen Sie die obige Codezeile in MongoShell aus, das mit MongoDB kompatibel ist. Es wird das folgende Ergebnis angezeigt:

{
  "_id" : ObjectId("54f612b6029b47919a90cesd"),
  "email" : "johndoe@exampledomain.com",
  "name" : "John Doe",
  "create_at" : "ISODate("2020-07-04T00:00:00Z")",
  "joining_date" : "ISODate("2020-07-04T00:00:00Z")"
}
{
  "_id" : ObjectId("54f612b6029b47919a97cesd"),
  "email" : "smithwarn@exampledomain.com",
  "name" : "Smith Warn",
  "create_at" : "ISODate("2020-04-28T00:00:00Z")",
  "joining_date" : "ISODate("2020-04-28T00:00:00Z")"
}
{
  "_id" : ObjectId("54f612b6029b47919a91cesd"),
  "email" : "jessicawill@exampledomain.com",
  "name" : "Jessica Will",
  "create_at" : "ISODate("2019-12-14T00:00:00Z")",
  "joining_date" : "ISODate("2019-12-14T00:00:00Z")"
}
Shraddha Paghdar avatar Shraddha Paghdar avatar

Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.

LinkedIn