$max (最大値アキュムレータ)

最終更新:2026-10-09

$max (最大値アキュムレータ)

$max は、$group 内でグループ全体の指定フィールドの最大値を、$project 内で配列の最大要素を返すアキュムレータです。比較は BSON の型順序に従うため、混在した型でも一貫して比較され、欠損フィールドは無視されます。

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

📝 構文

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

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

▶ 例

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

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

出力:

{ "_id": "Pen", "max": 80 }
{ "_id": "Book", "max": 25 }

📌 注意事項

📚 関連チュートリアル

❓ よくある質問

Q$max は文字列を比較できますか?
Aはい。文字列は辞書順で比較され、異なる型は BSON の型順序に従って比較されます。
Q$max と「$sort して $limit」の違いは?
A$max はグループ内で効率的に最大値を算出します。$sort と $limit は先頭のドキュメント全体を取得するのに向いています。
Q$project 内での $max の使い方は?
A配列の最大要素を取ります。例: { $project: { m: { $max: '$scores' } } }。
Web-Tutorial.com

Web-Tutorial 技術チーム

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

100%