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このページでは、配列または値のリストから最大値を返す式として使用される場合の について説明します。

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

{ $max: <expression> }

expression は配列に評価される必要があります。

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

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

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

単一の式をオペランドとして使用し、その式が配列に変換されると、$max は配列をトラバースして最大値を見つけます。

式のリストをオペランドとして使用する場合、いずれかの式が配列に変換されると、$max はその配列をトラバースせず、代わりに配列全体として比較します。

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

次の例では、$max $projectステージで を使用して、3 つの評価ソース( IMDb、Rotten ユーザー、Rotten ユーザー: ローテーション ポリゴン)全体で各映画の最高評価を見つけます。

db.movies.aggregate( [
{
$match: {
title: {
$in: [
"The Godfather",
"Schindler's List",
"The Dark Knight"
]
},
"imdb.rating": { $gt: 0 },
"tomatoes.viewer.rating": { $gt: 0 },
"tomatoes.critic.rating": { $gt: 0 }
}
},
{
$project: {
_id: 0,
title: 1,
highestRating: {
$max: [
"$imdb.rating",
"$tomatoes.viewer.rating",
"$tomatoes.critic.rating"
]
}
}
},
{ $sort: { title: 1 } }
] )

先行するパイプライン:

  • $matchを使用して、3 つのソースすべてから有効な評価を持つ 3 つの特定の映画をフィルタリングします。

  • $project$maximdb.ratingtomatoes.viewer.ratingとtomatoes.critic.rating および式のリストを使用して、各映画の 、 、 における最高評価を計算します。

  • 出力をタイトルのアルファベット順にソートします。

このページを評価