$min (小さい値を保持)
最終更新:2026-10-09
$min (小さい値を保持)
$min は、指定した値が現在のフィールド値より小さい場合にのみその値を書き込み、それ以外はフィールドを変更しません。`{ $min: { lowPrice: 50 } }` のように使います。フィールドが存在しない場合は作成されます。最低価格や史上最低スコアなど、最小値を記録し続ける更新に最適です。
| カテゴリ | フィールド更新 |
|---|---|
| MongoDB バージョン | 2.6+ |
| 例の言語 | mongosh(シェル) |
📝 構文
{ $min: { <field>: <value> } }
⚙️ パラメータ
| フィールド | 比較して更新するフィールド。 |
|---|---|
| 値 | 候補値。より小さい場合にのみ書き込まれます。 |
戻り値:更新結果
▶ 例
以下のコマンドをローカルの mongosh で実行してください(mongod が起動済みである必要があります):
// $min: 減らすだけで増やさない
// 60 → 50(50 の方が小さいため)
// 30 はそのまま(50 の方が大きいため)
db.products.updateOne(
{ _id: 1 },
{ $min: { lowPrice: 50 } }
)
出力:
// 現在値が 50 より大きい場合のみ 50 に更新され、それ以外は変更されない
📌 注意事項
- フィールドがなければ指定値を入れて作成する
- 最小値を維持するメトリクスの記録に適する
- $max と組み合わせて上限・下限を維持できる
🏷️ 関連タグ
💡 関連ケース
📚 関連チュートリアル
❓ よくある質問
Q$min と $max はどう組み合わせますか?
A$min は小さい値で更新し、$max は大きい値で更新します。組み合わせると値の範囲を維持できます。
Qフィールドが存在しない場合はどうなりますか?
A指定した値でフィールドが作成されます。
Q$min はアトミックですか?
Aはい。他の更新演算子と同様にアトミックです。