

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

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

Baru dari versi 4.0.

`$setDifference`Operator di Amazon DocumentDB digunakan untuk membandingkan dua set dan mengembalikan elemen yang ada di set pertama tetapi tidak di set kedua. Operator ini berguna untuk menemukan elemen unik antara dua set.

**Parameter**
+ `firstSet`: Set pertama untuk membandingkan.
+ `secondSet`: Set kedua untuk membandingkan.

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

Contoh berikut menunjukkan bagaimana menggunakan `$setDifference` operator untuk menemukan elemen unik antara dua set.

**Buat dokumen sampel**

```
db.collection.insertMany([
  { _id: 1, fruits: ["apple", "banana", "cherry", "date"] },
  { _id: 2, fruits: ["banana", "cherry", "date", "elderberry"] }
]);
```

**Contoh kueri**

```
db.collection.aggregate([
  {
    $project: {
      uniqueFruits: { $setDifference: ["$fruits", ["banana", "cherry", "date"]] }
    }
  }
]);
```

**Keluaran**

```
[
  { "_id": 1, "uniqueFruits": ["apple"] },
  { "_id": 2, "uniqueFruits": ["elderberry"] }
]
```

Kueri melakukan langkah-langkah berikut:

1. Ini menggunakan `$project` panggung untuk membuat bidang baru `uniqueFruits` untuk setiap dokumen.

2. `$setDifference`Operator membandingkan `fruits` array dengan array `[&quot;banana&quot;, &quot;cherry&quot;, &quot;date&quot;]` dan mengembalikan elemen unik dalam `fruits` array.

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

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

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

Berikut adalah contoh cara menggunakan `$setDifference` operator dalam aplikasi Node.js:

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

async function main() {
  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('mycollection');

  // Insert sample documents
  await collection.insertMany([
    { _id: 1, fruits: ["apple", "banana", "cherry", "date"] },
    { _id: 2, fruits: ["banana", "cherry", "date", "elderberry"] }
  ]);

 // Query using $setDifference
  const result = await collection.aggregate([
    {
      $project: {
        uniqueFruits: { $setDifference: ["$fruits", ["banana", "cherry", "date"]] }
      }
    }
  ]).toArray();

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

main();
```

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

Berikut adalah contoh cara menggunakan `$setDifference` operator dalam aplikasi Python:

```
from pymongo import MongoClient

def main():
    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['mycollection']

    # Insert sample documents
    collection.insert_many([
        {'_id': 1, 'fruits': ["apple", "banana", "cherry", "date"]},
        {'_id': 2, 'fruits': ["banana", "cherry", "date", "elderberry"]}
    ])

    # Query using $setDifference
    result = list(collection.aggregate([
        {
            '$project': {
                'uniqueFruits': {'$setDifference': ['$fruits', ["banana", "cherry", "date"]]}
            }
        }
    ]))

    print(result)
    client.close()

if __name__ == '__main__':
    main()
```

------