이 버전의 문서는 보관되어 더 이상 지원되지 않습니다. 5.0 배포서버 업그레이드 하려면 MongoDB 6.0 업그레이드 절차를 참조하세요.
정의
- $hour
- 날짜의 시간 부분을 0에서 23 사이의 숫자로 반환합니다. - $hour표현식 에는 다음과 같은 연산자 표현식 구문이 있습니다.- { $hour: <dateExpression> } - 인수는 다음과 같습니다: - 이 형식의 문서입니다: - { date: <dateExpression>, timezone: <tzExpression> } 필드설명- date- timezone- Optional.작업 결과의 표준 시간대입니다. 은 Olson 표준 시간대 식별자- <tzExpression>또는 UTC 오프셋 형식의 문자열로 해석되는 유효한 표현식 이어야 합니다.- timezone가 제공되지 않으면 결과가- UTC에 표시됩니다.형식예시- Olson Timezone Identifier- "America/New_York" - "Europe/London" - "GMT" - UTC Offset- +/-[hh]:[mm], e.g. "+04:45" - +/-[hh][mm], e.g. "-0530" - +/-[hh], e.g. "+03" 
 
행동
| 예시 | 결과 | ||||
|---|---|---|---|---|---|
|  | 12 | ||||
|  | 0 | ||||
|  | 19 | ||||
|  | 0 | ||||
|  | 5 | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | 
 | 
참고
$hour는 문자열을 인수로 사용할 수 없습니다.
예시
다음 문서가 포함된 collection을 고려합니다:sales
{   "_id" : 1,   "item" : "abc",   "price" : 10,   "quantity" : 2,   "date" : ISODate("2014-01-01T08:15:39.736Z") } 
다음 집계에서는 $hour 및 기타 날짜 표현식을 사용하여 date 필드를 세분화합니다.
db.sales.aggregate(    [      {        $project:          {            year: { $year: "$date" },            month: { $month: "$date" },            day: { $dayOfMonth: "$date" },            hour: { $hour: "$date" },            minutes: { $minute: "$date" },            seconds: { $second: "$date" },            milliseconds: { $millisecond: "$date" },            dayOfYear: { $dayOfYear: "$date" },            dayOfWeek: { $dayOfWeek: "$date" }          }      }    ] ) 
이 연산은 다음과 같은 결과를 반환합니다.
{   "_id" : 1,   "year" : 2014,   "month" : 1,   "day" : 1,   "hour" : 8,   "minutes" : 15,   "seconds" : 39,   "milliseconds" : 736,   "dayOfYear" : 1,   "dayOfWeek" : 4,   "week" : 0 }