AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
See how MongoDB 9.0 delivers up to 2x higher throughput.
MongoDB Branding Shape
Register now >
Docs Menu

$max(アキュムレータ演算子)

$max

最大値を返します。 は、異なる型の値に対して$max 指定されたBSON比較順序 を使用して、値と型の両方を比較します。

$maxアキュムレータは、次のステージで使用できます。

注意

曖昧さ回避

このページでは、アキュムレータとして使用する場合の$max について説明します。アキュムレータは、入力ドキュメントのグループ全体の合計、最大、または最小などの単一の集計値を返します。

次の他のコンテキストでは $max を使用することもできます。

{ $max: <expression> }

$max は、 BSON比較 の順序に従って入力データを比較し、適切な出力型を決定します。 入力データに複数のデータ型が含まれている場合、 $maxの出力型が比較順序では最も高い値になります。

$maxの入力値の一部がnull または欠落している場合、$max は null 以外と欠落以外の値のみを考慮します。

$maxのすべての入力値がnull または欠落している場合、$max nullは を返します。

$groupステージでは、式の式が配列となる場合、$max は配列をトラバースせず、配列全体として比較します。

複数の値が等しいと比較される場合、$max はそれらの値のいずれかを返すことがあります。どの等しい値を $max が返すかは保証されていません。

例、大文字と小文字を区別しない照合では、"a" と "A" は等しく比較できます。どれが返されるかは保証されません。

このページの例では、 sample_mflix データセット のデータを使用します。このデータセットを自己管理型MongoDBデプロイにロードする 方法の詳細については、「 サンプル データセットをロードする 」を参照してください。サンプルデータベースに変更を加えた場合、このページの例を実行するには、データベースを削除して再作成する必要がある場合があります。

次の例では、$max $groupステージで を使用して、各評価カテゴリの映画の最高の IMDb 評価と最長の実行時間を検索します。

db.movies.aggregate( [
{
$match: {
rated: { $in: [ "G", "PG", "PG-13", "R" ] },
"imdb.rating": { $gt: 0 },
runtime: { $gt: 0 }
}
},
{ $sort: { rated: 1 } },
{
$group: {
_id: "$rated",
maxImdbRating: { $max: "$imdb.rating" },
maxRuntime: { $max: "$runtime" }
}
},
{ $sort: { _id: 1 } }
] )

先行するパイプライン:

  • $matchを使用して、共通の US 評価、有効な IMDb 評価、既知のランタイムを持つ映画をフィルタリングします。

  • 一貫したグループ順序を確保するために、ドキュメントを rated で並べ替えます。

  • と$group を使用して、各$max ratedグループの最高の IMDb 評価と最も長い実行時間を見つけます。

  • 出力を評価カテゴリのアルファベット順にソートします。

このページを評価

項目一覧