Heim  >  Artikel  >  Web-Frontend  >  Wie sortiere ich Arrays in eingebetteten Dokumenten in MongoDB?

Wie sortiere ich Arrays in eingebetteten Dokumenten in MongoDB?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-07 08:01:021038Durchsuche

How to Sort Arrays within Embedded Documents in MongoDB?

Sortieren von Arrays in eingebetteten Dokumenten in MongoDB

Bei der Arbeit mit MongoDB ist es häufig erforderlich, Arrays zu sortieren, die in eingebetteten Dokumenten enthalten sind. Dies kann eine knifflige Aufgabe sein, aber glücklicherweise stehen mehrere Methoden zur Verfügung.

Bei dieser Frage geht es darum, das Array „Ergebnisse“ in den Schülerdatensätzen in absteigender Reihenfolge der Punktzahl zu sortieren. Die vorgeschlagene Lösung basiert auf der Verwendung der Mongo-Shell und des Aggregation Framework, einer neuen Funktion, die in MongoDB 2.2 eingeführt wurde.

Die in der Antwort bereitgestellte Aggregationsabfrage umfasst mehrere Stufen:

  1. $match: In dieser Phase wird die Sammlung anhand eines Übereinstimmungskriteriums nach dem gewünschten Dokument gefiltert. In diesem Fall wird das Dokument mit der _id gleich 1 ausgewählt.
  2. $unwind: In dieser Phase wird das eingebettete „scores“-Array dekonstruiert und in einen Strom einzelner Dokumente umgewandelt. Jedes Dokument enthält die _ID des Schülers, den Namen und eine einzelne Punktzahl.
  3. $match: In dieser Phase werden die abgewickelten Dokumente basierend auf dem Feld „Typ“ gefiltert und nur diejenigen mit „Typ“ ausgewählt. entspricht „Hausaufgaben“.
  4. $sort: In dieser Phase werden die Dokumente in absteigender Reihenfolge des „Score“-Felds innerhalb des eingebetteten „Scores“-Dokuments sortiert.

Das Ergebnis ist eine Reihe von Dokumenten mit der _ID, dem Namen und der höchsten Hausaufgabenpunktzahl für jeden Schüler. Es ist wichtig zu beachten, dass das Aggregation Framework komplexere Transformationen und Filter ermöglicht, was es zu einem leistungsstarken Werkzeug für die Arbeit mit eingebetteten Arrays in MongoDB macht.

Das obige ist der detaillierte Inhalt vonWie sortiere ich Arrays in eingebetteten Dokumenten in MongoDB?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn