

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

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

버전 4.0의 새 버전입니다.

Amazon DocumentDB의 `$setDifference` 연산자는 두 세트를 비교하고 첫 번째 세트에는 있지만 두 번째 세트에는 없는 요소를 반환하는 데 사용됩니다. 이 연산자는 두 세트 사이의 고유한 요소를 찾는 데 유용합니다.

**파라미터**
+ `firstSet` : 비교할 첫 번째 세트입니다.
+ `secondSet` : 비교할 두 번째 세트입니다.

## 예제(MongoDB 쉘)
<a name="setDifference-examples"></a>

다음 예제에서는 `$setDifference` 연산자를 사용하여 두 세트 간의 고유한 요소를 찾는 방법을 보여줍니다.

**샘플 문서 생성**

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

**쿼리 예제**

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

**출력**

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

쿼리는 다음 단계를 수행합니다.

1. `$project` 스테이지를 사용하여 각 문서에 `uniqueFruits` 대한 새 필드를 생성합니다.

2. 연`$setDifference`산자는 `fruits` 배열을 배열과 비교`[&quot;banana&quot;, &quot;cherry&quot;, &quot;date&quot;]`하고 `fruits` 배열의 고유 요소를 반환합니다.

## 코드 예제
<a name="setDifference-code"></a>

`$setDifference` 명령을 사용하기 위한 코드 예제를 보려면 사용하려는 언어의 탭을 선택합니다.

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

다음은 Node.js 애플리케이션에서 `$setDifference` 연산자를 사용하는 방법의 예입니다.

```
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 ]

다음은 Python 애플리케이션에서 `$setDifference` 연산자를 사용하는 방법의 예입니다.

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

------