Docs Menu
Docs Home
/
MongoDBマニュアル
/ / /

$isoWeekYear(集計)

項目一覧

  • 定義
  • 動作
$isoWeekYear

バージョン 3.4 で追加

ISO 8601 形式の年番号を返します。 年は第 1 週の月曜日から始まり、最終週の日曜日に終わります。

$isoWeekYear式には次の演算子式の構文があります。

{ $isoWeekYear: <dateExpression> }

引数は次のとおりです。

  • 任意のDateTimestamp 、または ObjectIDに変換されます。

  • 次の形式のドキュメント:

    { date: <dateExpression>, timezone: <tzExpression> }
    フィールド
    説明
    date
    演算子が適用される日付。<dateExpression> は、有効なであり、DateTimestamp、または ObjectId に変換されなければなりません。
    timezone

    Optional. 操作結果のタイムゾーン。 <tzExpression>は、 Olson タイムゾーン識別子 として形式された string に変換される有効な 式 である必要があります。 または 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"
結果
{ $isoWeekYear: new Date("2015-05-26") }
2015
{ $isoWeekYear: { date: new Date("Jan 7, 2003") } }
2003
{ $isoWeekYear: ISODate("2017-01-02T00:00:00Z") }
2017
{ $isoWeekYear: {
date: ISODate("2017-01-02T00:00:00Z"),
timezone: "-0500"
} }
2016
{ $isoWeekYear: {
date: new Date("April 08, 2024"),
timezone: "America/Chicago"
} }
2024
{ $isoWeekYear: "March 28, 1976" }
error
{ $isoWeekYear: Date("2016-01-01") }
error
{ $isoWeekYear: "2009-04-09" }
error

注意

$isoWeekYear は引数として string を取ることができません。

anniversariesというコレクションには次のドキュメントが含まれています。

{ "_id" : 1, "date" : ISODate("2016-01-01T00:00:00Z") }
{ "_id" : 2, "date" : ISODate("2016-01-04T00:00:00Z") }
{ "_id" : 3, "date" : ISODate("2015-01-01T00:00:00Z") }
{ "_id" : 4, "date" : ISODate("2014-04-21T00:00:00Z") }

次の操作では、各dateフィールドの ISO 8601 形式の年番号が返されます。

db.anniversaries.aggregate( [
{
$project: {
yearNumber: { $isoWeekYear: "$date" }
}
}
] )

この操作は次の結果を返します。

{ "_id" : 1, "yearNumber" : 2015 }
{ "_id" : 2, "yearNumber" : 2016 }
{ "_id" : 3, "yearNumber" : 2015 }
{ "_id" : 4, "yearNumber" : 2014 }

Tip

以下も参照してください。

戻る

$isoWeek

項目一覧