$minute (分)
最終更新:2026-10-09
$minute (分)
$minute は日付の「分」部分(0〜59)を返します。分単位のトラフィック統計や監視メトリクス、ウィンドウのラベル付けに重宝します。戻り値はゼロ埋めしない整数です。timezone はタイムスタンプがどの分に属するかを変えるため、分単位のオフセットを持つタイムゾーン(例: UTC+5:45)では値が異なります。常に timezone を明示的に指定してください。$hour や $second と組み合わせると、完全な時刻を再構築できます。
| カテゴリ | 日付 |
|---|---|
| MongoDB バージョン | 1.0+ |
| 例の言語 | mongosh(シェル) |
📝 構文
{ $minute: { date: <date-expression>, timezone: <timezone> } }
⚙️ パラメータ
| date | 必須。日付式。 |
|---|---|
| timezone | 任意のタイムゾーン。既定は UTC。 |
戻り値:分(0〜59)。date が null の場合は null。
▶ 例
以下のコマンドをローカルの mongosh で実行してください(mongod が起動済みである必要があります):
// $minute: 時・分単位のログ量(北京時間)
db.logs.aggregate([
{ $group: {
_id: { h: { $hour: { date: '$ts', timezone: 'Asia/Shanghai' } }, m: { $minute: { date: '$ts', timezone: 'Asia/Shanghai' } } },
cnt: { $sum: 1 }
} }
])
出力:
{ "_id": { "h": 8, "m": 30 }, "cnt": 56 }
{ "_id": { "h": 8, "m": 31 }, "cnt": 48 }
📌 注意事項
- 範囲は 0〜59 で、60 で 0 に戻る
- 分オフセット付きのタイムゾーン(例: UTC+5:45)は変換後の分の値を変える
- タイムゾーンごとに結果がずれる — 統計前にタイムゾーンを統一する
🏷️ 関連タグ
💡 関連ケース
さらなる実践ケースを近日公開予定。
📚 関連チュートリアル
❓ よくある質問
Q範囲は?
A0 から 59 です。
Qタイムゾーンは分に影響しますか?
Aはい — 分オフセットを持つタイムゾーン(+5:45 など)では値が異なります。
Q2 桁の分の文字列を取得するには?
A$dateToString の %M プレースホルダを使うと 2 桁で出力できます。