

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.

# \$1setUnion
<a name="setUnion"></a>

Der `$setUnion` Aggregationsoperator in Amazon DocumentDB wird verwendet, um zwei oder mehr Wertesätze zu kombinieren und eine Menge zurückzugeben, die alle eindeutigen Elemente aus den Eingabesätzen enthält. Dieser Operator ist nützlich, wenn Sie mengenbasierte Operationen für Array-Felder in Ihren Dokumenten ausführen müssen.

**Parameter**
+ `expression1`: Ein Ausdruck, der in ein Array aufgelöst wird.
+ `expression2`: Ein Ausdruck, der in ein Array aufgelöst wird.
+ `expressionN`: Zusätzliche Ausdrücke, die in Arrays aufgelöst werden (optional).

## Beispiel (MongoDB Shell)
<a name="setUnion-examples"></a>

Das folgende Beispiel zeigt, wie der `$setUnion` Operator verwendet wird, um die eindeutigen Elemente aus zwei Array-Feldern in einer Sammlung zu kombinieren.

**Erstellen Sie Beispieldokumente**

```
db.users.insertMany([
  { _id: 1, name: "Alice", hobbies: ["reading", "swimming"], skills: ["coding", "writing"] },
  { _id: 2, name: "Bob", hobbies: ["cooking", "gardening"], skills: ["coding", "photography"] },
  { _id: 3, name: "Charlie", hobbies: ["reading", "painting"], skills: ["gardening", "music"] }
]);
```

**Beispiel für eine Abfrage**

```
db.users.aggregate([
  {
    $project: {
      name: 1,
      allInterests: { $setUnion: ["$hobbies", "$skills"] }
    }
  }
]);
```

**Ausgabe**

```
[
  { "_id" : 1, "name" : "Alice", "allInterests" : [ "coding", "reading", "swimming", "writing" ] },
  { "_id" : 2, "name" : "Bob", "allInterests" : [ "coding", "cooking", "gardening", "photography" ] },
  { "_id" : 3, "name" : "Charlie", "allInterests" : [ "gardening", "music", "painting", "reading" ] }
]
```

In diesem Beispiel wird der `$setUnion` Operator verwendet, um die eindeutigen Elemente aus den Feldern `hobbies` und `skills` Array für jedes Benutzerdokument zu kombinieren. Das resultierende `allInterests` Feld enthält die Zusammenfassung aller einzigartigen Hobbys und Fähigkeiten für jeden Benutzer.

## Codebeispiele
<a name="setUnion-code"></a>

Um ein Codebeispiel für die Verwendung des `$setUnion` Befehls anzuzeigen, wählen Sie die Registerkarte für die Sprache, die Sie verwenden möchten:

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

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

async function example() {
  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 users = db.collection('users');

  const result = await users.aggregate([
    {
      $project: {
        _id: 1,
        name: 1,
        allInterests: { $setUnion: ["$hobbies", "$skills"] }
      }
    }
  ]).toArray();

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

example();
```

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

```
from pymongo import MongoClient

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

    result = list(users.aggregate([
        {
            '$project': {
                '_id': 1,
                'name': 1,
                'allInterests': { '$setUnion': ["$hobbies", "$skills"] }
            }
        }
    ]))

    print(result)
    client.close()

example()
```

------