$isoWeek (집계)
정의
$isoWeek
1
0}에서53
사이의 ISO 8601 형식의 주 번호를 반환합니다. 주 번호는 연도의 첫 번째 목요일이 포함된 주 (월요일~일요일) 를 포함하여1
부터 시작합니다.$isoWeek
표현식에는 다음과 같은 연산자 표현식 구문이 있습니다.{ $isoWeek: <dateExpression> } 인수는 다음과 같습니다:
이 형식의 문서입니다:
{ date: <dateExpression>, timezone: <tzExpression> } 필드설명date
timezone
선택 사항. 작업 결과의 표준 시간대입니다. 은
<tzExpression>
Olson 표준 시간대 식별자 형식의 문자열로 해석되는 유효한 표현식 이어야 합니다. 또는 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"
행동
예시 | 결과 | ||||
---|---|---|---|---|---|
| 1 | ||||
| 53 | ||||
| 32 | ||||
| 45 | ||||
| 44 | ||||
| error | ||||
| error | ||||
| error |
참고
$isoWeek는 문자열을 인수로 사용할 수 없습니다.
예시
컬렉션 deliveries
에는 다음 문서가 포함되어 있습니다.
db.deliveries.insertMany( [ { _id: 1, date: ISODate("2006-10-24T00:00:00Z"), city: "Boston" }, { _id: 2, date: ISODate("2011-08-18T00:00:00Z"), city: "Detroit" } ] )
다음 작업은 각 date
필드에 대한 주 번호를 반환합니다.
db.deliveries.aggregate( [ { $project: { _id: 0, city: "$city", weekNumber: { $isoWeek: "$date" } } } ] )
이 연산은 다음과 같은 결과를 반환합니다.
[ { city: "Boston", weekNumber: 43 }, { city: "Detroit", weekNumber: 33 } ]