Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
$sortArray
Neu ab Version 8.0
Wird von Elastic Cluster nicht unterstützt.
Der $sortArray Operator in Amazon DocumentDB sortiert die Elemente eines Arrays. Bei Arrays mit Skalarwerten wird das Array nach Elementwerten sortiert. Bei Dokumentenarrays wird das Array nach dem oder den angegebenen Feldern sortiert. Der Operator gibt das sortierte Array in aufsteigender (1) oder absteigender (-1) Reihenfolge zurück.
Anmerkung
$sortArraywird in der $project Phase der Aggregationspipeline mit Query Planner Version 3 unterstützt.
Syntax
{ $sortArray: { input: <array>, sortBy: <sort specification> } }
Parameter
-
input: Das zu sortierende Array. -
sortBy: Die Sortierreihenfolge. Geben Sie für eine Reihe von Skalarwerten die Werte1für aufsteigend oder-1absteigend an. Geben Sie für eine Reihe von Dokumenten ein Dokument des Formulars{ field: 1 }oder{ field: -1 }für jedes Feld an, nach dem sortiert werden soll.
Beispiel (MongoDB Shell)
Das folgende Beispiel zeigt, wie der $sortArray Operator verwendet wird, um die Elemente eines Arrays in aufsteigender Reihenfolge zu sortieren.
Erstellen Sie Beispieldokumente
db.miles.insertMany([ { "_id" : 1, "member_since" : ISODate("1987-01-01T00:00:00Z"), "credit_card" : false, "flight_miles" : [ 1205, 2560, 880 ]}, { "_id" : 2, "member_since" : ISODate("1982-01-01T00:00:00Z"), "credit_card" : true, "flight_miles" : [ 1205, 2560, 890, 2780]}, { "_id" : 3, "member_since" : ISODate("1999-01-01T00:00:00Z"), "credit_card" : true, "flight_miles" : [ 1205, 880]} ]);
Beispiel für eine Abfrage
db.miles.aggregate([ { $project: { _id: 1, member_since: 1, credit_card: 1, sorted_flight_miles: { $sortArray: { input: "$flight_miles", sortBy: 1 } } } } ]);
Ausgabe
{ "_id" : 1, "member_since" : ISODate("1987-01-01T00:00:00Z"), "credit_card" : false, "sorted_flight_miles" : [ 880, 1205, 2560 ] }
{ "_id" : 2, "member_since" : ISODate("1982-01-01T00:00:00Z"), "credit_card" : true, "sorted_flight_miles" : [ 890, 1205, 2560, 2780 ] }
{ "_id" : 3, "member_since" : ISODate("1999-01-01T00:00:00Z"), "credit_card" : true, "sorted_flight_miles" : [ 880, 1205 ] }
In diesem Beispiel sortiert der $sortArray Operator das flight_miles Array in aufsteigender Reihenfolge. Das resultierende sorted_flight_miles Feld in der Ausgabe zeigt die Elemente des Arrays in sortierter Reihenfolge.
Codebeispiele
Um ein Codebeispiel für die Verwendung des $sortArray Befehls anzuzeigen, wählen Sie die Registerkarte für die Sprache, die Sie verwenden möchten: