$millisecond (ミリ秒)
最終更新:2026-10-09
$millisecond (ミリ秒)
$millisecond は日付のミリ秒部分(0 から 999)を返します。細かい精度の時刻抽出器です。単体で使うことは少ないですが、厳密な順序付け、重複排除、ミリ秒タイムスタンプの再構築に役立ちます。ゼロ埋めなしの整数を返します。timezone は値に影響しません(ミリ秒はタイムゾーンに依存しない)が、構文上は受け付けられます。$second と組み合わせるとミリ秒レベルのラベルを作れます。
| カテゴリ | 日付 |
|---|---|
| MongoDB バージョン | 1.0+ |
| 例の言語 | mongosh(シェル) |
📝 構文
{ $millisecond: { date: <date-expression>, timezone: <timezone> } }
⚙️ パラメータ
| date | 必須。日付式。 |
|---|---|
| timezone | 任意。ミリ秒の値には影響しません。 |
戻り値:ミリ秒(0〜999)。date が null の場合は null。
▶ 例
以下のコマンドをローカルの mongosh で実行してください(mongod が起動済みである必要があります):
// $millisecond: センサータイムスタンプのミリ秒
db.sensors.aggregate([
{ $project: { ms: { $millisecond: '$ts' } } }
])
出力:
{ "_id": 1, "ms": 320 }
{ "_id": 2, "ms": 0 }
📌 注意事項
- 範囲は 0〜999。ゼロ埋めなし
- ミリ秒はタイムゾーンに依存しない。timezone は何も変えない
- $second と組み合わせてミリ秒レベルのラベルを作る
🏷️ 関連タグ
💡 関連ケース
さらなる実践ケースを近日公開予定。
📚 関連チュートリアル
❓ よくある質問
Q範囲は?
A0 から 999 です。
Qタイムゾーンはミリ秒に影響しますか?
Aいいえ。ミリ秒は純粋な時間量で、タイムゾーンに依存しません。
Q3 桁のミリ秒にフォーマットするには?
A生の整数を返すので、必要な場合は $concat でゼロ埋めします。