$isoWeekYear (ISO 週の年)

最終更新:2026-10-09

$isoWeekYear (ISO 週の年)

$isoWeekYear は日付の ISO 週が属する年を返します。$isoWeek と一緒に使います。ISO の週は年をまたぐことがあるため(12 月 31 日が翌年の第 1 週に入る場合など)、週の年は暦の年と異なることがあります。正しい帰属を知れるのは $isoWeekYear だけです。典型的な用途は年・週のグループ化キーの作成です。timezone が週の境界を決めます。

カテゴリ日付
MongoDB バージョン1.0+
例の言語mongosh(シェル)

📝 構文

{ $isoWeekYear: { date: <date-expression>, timezone: <timezone> } }

⚙️ パラメータ

date必須。日付式。
timezone任意のタイムゾーン。既定は UTC。

戻り値:ISO 週の年。date が null の場合は null。

▶ 例

以下のコマンドをローカルの mongosh で実行してください(mongod が起動済みである必要があります):

// $isoWeekYear + $isoWeek: 年・週のグループ化
 db.sales.aggregate([
  { $group: {
      _id: { y: { $isoWeekYear: { date: '$soldAt' } }, w: { $isoWeek: { date: '$soldAt' } } },
      total: { $sum: '$amount' }
  } }
])

出力:

{ "_id": { "y": 2026, "w": 39 }, "total": 9800 }
{ "_id": { "y": 2026, "w": 40 }, "total": 10450 }

📌 注意事項

さらなる実践ケースを近日公開予定。

📚 関連チュートリアル

❓ よくある質問

Q$year との違いは?
A$year は暦の年です。$isoWeekYear は週の ISO 年で、年またぎの週では異なることがあります。
Qいつ必要ですか?
A年・週のグループ化には、$isoWeekYear と $isoWeek を組み合わせてキーにします。
Q単体で役立ちますか?
Aあまり役に立ちません。$isoWeek と一緒に使って週の帰属年を表します。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%