$isoDayOfWeek (ISO 曜日)
最終更新:2026-10-09
$isoDayOfWeek (ISO 曜日)
$isoDayOfWeek は ISO 8601 に従った曜日番号を返します。1 が月曜日、7 が日曜日で、日曜日が 1 の $dayOfWeek とは異なります。国際標準に従った週単位の統計では、$isoWeek や $isoWeekYear と組み合わせます。整数を返します。timezone が曜日の境界を決め、既定は UTC です(中国のデータでは Asia/Shanghai を渡してください)。
| カテゴリ | 日付 |
|---|---|
| MongoDB バージョン | 1.0+ |
| 例の言語 | mongosh(シェル) |
📝 構文
{ $isoDayOfWeek: { date: <date-expression>, timezone: <timezone> } }
⚙️ パラメータ
| date | 必須。日付式。 |
|---|---|
| timezone | 任意のタイムゾーン。既定は UTC。 |
戻り値:ISO 曜日(1=月曜、7=日曜)。date が null の場合は null。
▶ 例
以下のコマンドをローカルの mongosh で実行してください(mongod が起動済みである必要があります):
// $isoDayOfWeek: ISO 曜日ごとの売上(北京時間)
db.sales.aggregate([
{ $group: {
_id: { $isoDayOfWeek: { date: '$soldAt', timezone: 'Asia/Shanghai' } },
total: { $sum: '$amount' }
} }
])
出力:
{ "_id": 1, "total": 3200 }
{ "_id": 2, "total": 2750 }
📌 注意事項
- $dayOfWeek とは 1 ずれる。そちらでは月曜日が 2、こちらでは 1
- $isoWeek や $isoWeekYear と組み合わせて使うことが多い
- 既定は UTC。統計前にタイムゾーンを統一する
🏷️ 関連タグ
💡 関連ケース
さらなる実践ケースを近日公開予定。
📚 関連チュートリアル
❓ よくある質問
Q1 は月曜日ですか日曜日ですか?
AISO 8601 では 1 が月曜日、7 が日曜日です。
Q$dayOfWeek とはどのくらいずれますか?
A同じ日付で 1 ずれます。$dayOfWeek の 2 は $isoDayOfWeek の 1 に相当します。
Qタイムゾーンで曜日は変わりますか?
Aはい。真夜中付近の時刻は別の曜日に変わり得ます。タイムゾーンを統一してください。