$cmp - Amazon DocumentDB

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

$cmp

Amazon DocumentDB의 $cmp 연산자는 두 값을 비교하고 상대 순서를 나타내는 정수 값을 반환하는 데 사용됩니다. 첫 번째 값이 각각 두 번째 값보다 작은지, 같은지 또는 큰지에 따라 두 표현식을 비교하고 -1, 0 또는 1의 정수 값을 반환하는 비교 연산자입니다.

파라미터

  • expression1: 비교할 첫 번째 표현식입니다.

  • expression2: 비교할 두 번째 표현식입니다.

예제(MongoDB 쉘)

다음 예제에서는 연$cmp산자를 사용하여 두 숫자 값을 비교하는 방법을 보여줍니다.

샘플 문서 생성

db.collection.insertMany([ { _id: 1, value1: 10, value2: 20 }, { _id: 2, value1: 15, value2: 15 }, { _id: 3, value1: 20, value2: 10 } ]);

쿼리 예제

db.collection.find({ $expr: { $cmp: ["$value1", "$value2"] } })

출력

[ { "_id" : 1, "value1" : 10, "value2" : 20 }, { "_id" : 3, "value1" : 20, "value2" : 10 } ]

이 예제에서 $cmp 연산자는 각 문서의 value1value2 필드를 비교합니다. 결과는 다음과 같습니다.

- `$cmp: ["$value1", "$value2"]` returns -1 for the first document (10 < 20), 0 for the second document (15 = 15), and 1 for the third document (20 > 10).

코드 예제

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

Node.js

다음은 mongodb 드라이버와 함께 Node.js 애플리케이션에서 $cmp 연산자를 사용하는 예입니다.

const { MongoClient } = require('mongodb'); const client = new MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false'); async function main() { await client.connect(); const db = client.db('test'); const collection = db.collection('mycollection'); // Insert sample documents await collection.insertMany([ { _id: 1, value1: 10, value2: 20 }, { _id: 2, value1: 15, value2: 15 }, { _id: 3, value1: 20, value2: 10 } ]); // Query using $cmp operator const result = await collection.find({ $expr: { $cmp: ['$value1', '$value2'] } }).toArray(); console.log(result); await client.close(); } main();
Python

다음은 pymongo 드라이버와 함께 Python 애플리케이션에서 $cmp 연산자를 사용하는 예입니다.

from pymongo import MongoClient 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, 'value1': 10, 'value2': 20}, {'_id': 2, 'value1': 15, 'value2': 15}, {'_id': 3, 'value1': 20, 'value2': 10} ]) # Query using $cmp operator result = list(collection.find({ '$expr': { '$cmp': ['$value1', '$value2'] } })) print(result) client.close()

Node.js 및 Python 예제의 출력은 MongoDB Shell 예제와 동일합니다.

[ { "_id" : 1, "value1" : 10, "value2" : 20 }, { "_id" : 2, "value1" : 15, "value2" : 15 }, { "_id" : 3, "value1" : 20, "value2" : 10 } ]