기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
$switch
버전 4.0에서 새로 추가되었습니다.
Elastic 클러스터에서는 지원되지 않습니다.
연$switch산자는 Amazon DocumentDB의 조건식 연산자로, 사례 표현식 목록을 평가하고 true로 평가되는 첫 번째 사례의 값을 반환하거나 사례 표현식이 true가 아닌 경우 기본값을 반환할 수 있습니다.
파라미터
-
branches: 각각 평가할 부울 표현식을 포함하는 대/소문자 필드와 대/소문자 표현식이 true인 경우 반환할 값을 포함하는 대/소문자 필드가 있는 문서 배열입니다. -
default: (선택 사항) true인 대소문자 표현식이 없는 경우 반환할 값입니다.
예제(MongoDB 쉘)
다음 예제에서는 $switch 운영자를 사용하여 주문 합계를 기준으로 주문의 배송 비용을 결정하는 방법을 보여줍니다.
샘플 문서 생성
db.orders.insertMany([ { _id: 1, total: 50 }, { _id: 2, total: 150 }, { _id: 3, total: 250 } ]);
쿼리 예제
db.orders.aggregate([ { $project: { _id: 1, total: 1, shippingCost: { $switch: { branches: [ { case: { $lte: ["$total", 100] }, then: 5 }, { case: { $lte: ["$total", 200] }, then: 10 }, { case: { $gt: ["$total", 200] }, then: 15 } ], default: 0 } } } } ])
출력
[
{
"_id": 1,
"total": 50,
"shippingCost": 5
},
{
"_id": 2,
"total": 150,
"shippingCost": 10
},
{
"_id": 3,
"total": 250,
"shippingCost": 15
}
]
코드 예제
$switch 명령을 사용하기 위한 코드 예제를 보려면 사용하려는 언어의 탭을 선택합니다.