$subtract(산술 식 연산자)
연 $subtract
산자는 두 숫자를 빼고 결과를 반환하는 데 사용됩니다. 이 연산자는 문서의 날짜, 시간 또는 숫자 값 간의 차이를 계산하는 등 다양한 시나리오에서 유용합니다.
구문
{ $subtract: [ <expression1>, <expression2> ] }
매개 변수
매개 변수 | 설명 |
---|---|
<expression1> |
minuend(다른 숫자를 뺄 수 있는 숫자)입니다. |
<expression2> |
subtrahend(뺄 수)입니다. |
예시
예제 1: 전체 판매에서 총 판매액 빼기
다음 예제에서는 배열의 fullSales
값에서 값을 salesByCategory
빼는 totalSales
방법을 보여 줍니다.
db.collection.aggregate([
{
$project: {
category: "$sales.salesByCategory.categoryName",
salesDifference: { $subtract: ["$sales.salesByCategory.totalSales", "$sales.fullSales"] }
}
}
])
이 출력은 각 범주에 대한 totalSales와 fullSales의 차이를 보여 줍니다.
[
{ "_id": 1, "category": "Electronics", "salesDifference": 500 },
{ "_id": 2, "category": "Clothing", "salesDifference": -200 },
{ "_id": 3, "category": "Home Appliances", "salesDifference": 1000 }
]
예제 2: 프로모션 이벤트 기간 계산
다음 예제에서는 에서 빼서 프로모션 이벤트 기간(일)을 startDate
endDate
계산합니다.
db.collection.aggregate([
{
$project: {
eventName: "$promotionEvents.eventName",
eventDuration: {
$subtract: [
{ $dateFromParts: { year: "$promotionEvents.promotionalDates.endDate.Year", month: "$promotionEvents.promotionalDates.endDate.Month", day: "$promotionEvents.promotionalDates.endDate.Day" } },
{ $dateFromParts: { year: "$promotionEvents.promotionalDates.startDate.Year", month: "$promotionEvents.promotionalDates.startDate.Month", day: "$promotionEvents.promotionalDates.startDate.Day" } }
]
}
}
}
])
이 출력은 각 프로모션 이벤트의 시작 날짜와 종료 날짜 사이의 일 수를 계산합니다.
[
{
"_id": 4,
"eventName": "Black Friday",
"eventDuration": 5
},
{
"_id": 5,
"eventName": "Holiday Sale",
"eventDuration": 10
}
]
관련 콘텐츠
- MongoDB에서 Azure Cosmos DB for MongoDB(vCore)로 마이그레이션하기 위한 옵션 검토
- MongoDB와의 기능 호환성에 대해 자세히 알아보기