$min (最小値アキュムレータ)

最終更新:2026-10-09

$min (最小値アキュムレータ)

$min は、$group 内でグループ全体の指定フィールドの最小値を、$project 内で配列の最小要素を返すアキュムレータです。$max と対称で、比較は BSON の型順序に従い、欠損フィールドは無視されます。

カテゴリアキュムレータ
MongoDB バージョン1.0+
例の言語mongosh(シェル)

📝 構文

{ $group: { _id: <key>, min: { $min: "$field" } } }

戻り値:グループ内の最小値(BSON 型順で比較)

▶ 例

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

// $min: アイテムごとの最安価格
db.sales.aggregate([
  { $group: { _id: '$item', min: { $min: '$price' } } }
])

出力:

{ "_id": "Pen", "min": 20 }
{ "_id": "Book", "min": 5 }

📌 注意事項

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

📚 関連チュートリアル

❓ よくある質問

Q$min で最も古い日付を取得できますか?
Aはい。日付は時系列に比較されるため、最も古い日付が得られます。
Q$min と $first の違いは?
A$min はどこにあっても最小の値を選びます。$first はソート後の最初のドキュメントの値を取ります。
Q$min は null を無視しますか?
A欠損フィールドは無視されますが、null は BSON 順序の比較に参加します。
Web-Tutorial.com

Web-Tutorial 技術チーム

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

100%