기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
$dateDiff
버전 5.0의 새로운 기능
Elastic 클러스터에서는 지원되지 않습니다.
$dateDiff 집계 연산자는 지정된 단위로 두 날짜 간의 차이를 계산합니다. 시작 날짜와 종료 날짜 사이에 교차된 단위 경계 수를 반환합니다.
파라미터
-
startDate: 시작 날짜 표현식입니다. -
endDate: 종료 날짜 표현식입니다. -
unit: 차이의 시간 단위입니다. 지원되는 단위는year,quarter,month,week,day,hour,minute, 및second입니다millisecond.
예제(MongoDB 쉘)
다음 예제에서는 $dateDiff 연산자를 사용하여 주문 배치와 배송 사이의 일수를 계산하는 방법을 보여줍니다.
샘플 문서 생성
db.shipments.insertMany([ { orderId: 1001, orderDate: ISODate("2025-01-10T08:00:00Z"), deliveryDate: ISODate("2025-01-15T14:30:00Z") }, { orderId: 1002, orderDate: ISODate("2025-02-05T10:00:00Z"), deliveryDate: ISODate("2025-02-12T16:45:00Z") } ]);
쿼리 예제
db.shipments.aggregate([ { $project: { orderId: 1, orderDate: 1, deliveryDate: 1, daysToDeliver: { $dateDiff: { startDate: "$orderDate", endDate: "$deliveryDate", unit: "day" } } } } ]);
출력
[
{
_id: ObjectId('6924a5f2d66dcae121d29517'),
orderId: 1001,
orderDate: ISODate('2025-01-10T08:00:00.000Z'),
deliveryDate: ISODate('2025-01-15T14:30:00.000Z'),
daysToDeliver: 5
},
{
_id: ObjectId('6924a5f2d66dcae121d29518'),
orderId: 1002,
orderDate: ISODate('2025-02-05T10:00:00.000Z'),
deliveryDate: ISODate('2025-02-12T16:45:00.000Z'),
daysToDeliver: 7
}
]
코드 예제
$dateDiff 명령을 사용하기 위한 코드 예제를 보려면 사용하려는 언어의 탭을 선택합니다.