AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

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

$min

ドキュメントのグループ全体で最小値を返します。

$min アキュムレータは次のステージで使用可能です。

注意

曖昧さ回避

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

$min は、これらの他のコンテキストでも使用できます。

{ $min: <expression> }

$min が異なる型の値を比較する場合、BSON 比較順序 を使用してどの値が小さいかを判定します。

あるフィールドに null の値が設定されているドキュメントがある場合、またはフィールドが存在しない場合、$min はそれらを無視します。これは、null ではなく、かつ欠損のない値のみを対象とします。

すべてのドキュメントで、フィールドの値がnullであるか、またはフィールドが欠落している場合、$minはnullを返します。

$group ステージでは、式の結果が配列となる場合、$min は配列をトラバースしません。配列をまるごと比較します。

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

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

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

次の例では、MPAA レーティングで映画をグループ化し、各グループの最低 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 }
}
] )

以前のパイプライン:

  • $match を使用して、rated の値が G、PG、PG-13、または R であり、数値の IMDb 評価がある映画をフィルターします。

  • $group を使用して rated フィールドで映画をグループ化し、imdb.rating で $min を使用して lowestRating を計算します。

  • コンテンツ評価によりアルファベット順に結果を返すために、$sort を使用します。

このページを評価