

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
<a name="sortArray"></a>

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**  
`$sortArray`wird 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 Werte `1` für aufsteigend oder `-1` absteigend 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)
<a name="sortArray-examples"></a>

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
<a name="sortArray-code"></a>

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:

------
#### [ Node.js ]

Hier ist ein Beispiel für die Verwendung des `$sortArray` Operators in einer Node.js Anwendung:

```
const { MongoClient } = require('mongodb');

async function sortArray() {
  const client = await MongoClient.connect('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false');
  const db = client.db('test');
  const collection = db.collection('miles');

  const result = await collection.aggregate([
    {
      $project: {
        _id: 1,
        member_since: 1,
        credit_card: 1,
        sorted_flight_miles: { $sortArray: { input: '$flight_miles', sortBy: 1 } }
      }
    }
  ]).toArray();

  console.log(result);
  client.close();
}

sortArray();
```

------
#### [ Python ]

Hier ist ein Beispiel für die Verwendung des `$sortArray` Operators in einer Python-Anwendung:

```
from pymongo import MongoClient

def sort_array():
    client = MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false')
    db = client.test
    collection = db.miles

    result = list(collection.aggregate([
        {
            '$project': {
                '_id': 1,
                'member_since': 1,
                'credit_card': 1,
                'sorted_flight_miles': { '$sortArray': { 'input': '$flight_miles', 'sortBy': 1 } }
            }
        }
    ]))

    print(result)
    client.close()

sort_array()
```

------