

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

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

Operator `$setUnion` agregasi di Amazon DocumentDB digunakan untuk menggabungkan dua atau lebih set nilai dan mengembalikan satu set yang berisi semua elemen unik dari set input. Operator ini berguna ketika Anda perlu melakukan operasi berbasis set pada bidang array dalam dokumen Anda.

**Parameter**
+ `expression1`: Ekspresi yang menyelesaikan ke array.
+ `expression2`: Ekspresi yang menyelesaikan ke array.
+ `expressionN`: Ekspresi tambahan yang menyelesaikan array (opsional).

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

Contoh berikut menunjukkan bagaimana menggunakan `$setUnion` operator untuk menggabungkan elemen unik dari dua bidang array dalam koleksi.

**Buat dokumen sampel**

```
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"] }
]);
```

**Contoh kueri**

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

**Keluaran**

```
[
  { "_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" ] }
]
```

Dalam contoh ini, `$setUnion` operator digunakan untuk menggabungkan elemen unik dari bidang `hobbies` dan `skills` array untuk setiap dokumen pengguna. `allInterests`Bidang yang dihasilkan berisi penyatuan semua hobi dan keterampilan unik untuk setiap pengguna.

## Contoh kode
<a name="setUnion-code"></a>

Untuk melihat contoh kode untuk menggunakan `$setUnion` perintah, pilih tab untuk bahasa yang ingin Anda gunakan:

------
#### [ 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()
```

------