$cmp (집계)
정의
$cmp
두 값을 비교하여 반환합니다:
-1
첫 번째 값이 두 번째 값보다 작은 경우1
첫 번째 값이 두 번째 값보다 큰 경우0
두 값이 같은 경우
$cmp
는 서로 다른 유형의 값에 대해 지정된 BSON 비교 순서를 사용하여 값과 유형을 모두 비교합니다.$cmp
에는 다음 구문이 있습니다.{ $cmp: [ <expression1>, <expression2> ] } 표현식에 대한 자세한 내용은 표현식 연산자를 참조하세요.
예시
이 문서로 inventory
컬렉션을 만듭니다.
db.inventory.insertMany( [ { _id : 1, item : "abc1", description: "product 1", qty: 300 }, { _id : 2, item : "abc2", description: "product 2", qty: 200 }, { _id : 3, item : "xyz1", description: "product 3", qty: 250 }, { _id : 4, item : "VWZ1", description: "product 4", qty: 300 }, { _id : 5, item : "VWZ2", description: "product 5", qty: 180 } ] )
$cmp
연산자 를 사용하여 qty
값을 250
와 비교합니다.
db.inventory.aggregate( [ { $project: { item: 1, qty: 1, cmpTo250: { $cmp: [ "$qty", 250 ] }, _id: 0 } } ] )
출력:
{ item : "abc1", qty : 300, cmpTo250 : 1 } { item : "abc2", qty : 200, cmpTo250 : -1 } { item : "xyz1", qty : 250, cmpTo250 : 0 } { item : "VWZ1", qty : 300, cmpTo250 : 1 } { item : "VWZ2", qty : 180, cmpTo250 : -1 }