定義
ドキュメントのグループにわたる最小値を返します。
$minアキュムレータは、次のステージで使用できます。
注意
曖昧さ回避
このページでは、アキュムレータとして使用する場合の$min について説明します。アキュムレータは、入力ドキュメントのグループ全体の合計、最大、最小などの集計値を返します。
次の他のコンテキストでは $min を使用することもできます。
$min (expression)は、配列から最小値を返します。$min (window function)$setWindowFieldsは、特定のウィンドウ内のドキュメントから最小値を返すために ステージで使用されます。
構文
{ $min: <expression> }
動作
結果の型
$minが異なる型の値を比較する場合、 BSON比較順序を使用してどの値が小さいかを判断します。
NULL または欠損値
フィールドの値が null であるか、フィールドが欠落しているドキュメントがある場合、$min はそれらを無視します。 null 以外と欠落値以外の値のみを考慮します。
nullすべてのドキュメントでフィールドの値が であるか、フィールドが欠落している場合、$min はnull を返します。
配列オペランド
$groupステージでは、式の式が配列となる場合、$min は配列を走査しません。配列全体として比較します。
等しい値
複数の値が等しいと比較される場合、$min はそれらの値のいずれかを返すことがあります。どの等しい値を $min が返すかは保証されていません。
例、大文字と小文字を区別しない照合では、"a" と "A" は等しく比較できます。どれが返されるかは保証されません。
例
このページの例では、 sample_mflix データセット のデータを使用します。このデータセットを自己管理型MongoDBデプロイにロードする 方法の詳細については、「 サンプル データセットをロードする 」を参照してください。サンプルデータベースに変更を加えた場合、このページの例を実行するには、データベースを削除して再作成する必要がある場合があります。
$group ステージでの $min の使用
次の例では、映画を MONGO 評価でグループ化し、各グループの最低 IMDb 評価を返します。
db.movies.aggregate( [ { $match: { rated: { $in: [ "G", "PG", "PG-13", "R" ] }, "imdb.rating": { $type: "double" } } }, { $group: { _id: "$rated", lowestRating: { $min: "$imdb.rating" } } }, { $sort: { _id: 1 } } ] )
先行するパイプライン: