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

$minN(式演算子)

$minN

配列内の n つの最小値を返します。

注意

曖昧さ回避

このページでは、$minN を 式として使用する場合について説明します。これは、配列内の n 個の最小値を返します。

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

{ $minN: { n: <expression>, input: <expression> } }
フィールド
説明

n

正の整数に評価される 式。整数は、$minN が返す配列要素の数を指定します。

input

最小値 n 個の要素を返す配列に評価される 式。

  • 1 nの値は指定できません。

  • $minN input配列にあるnull値をフィルターします。

  • 指定されたnがinput配列内の要素数以上の場合、$minNはinput配列内のすべての要素を返します。

  • input が配列以外の値に解決される場合、式はエラーになります。

  • もし `input` に異なる型の要素が含まれている場合、型を超えた比較は BSON 比較順序に従います。

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

次の例では、$minN 演算子を使用して、各映画のアルファベット順で最初にくる 2 つのジャンルを返します。結果は、$addFields によって作成された新しいフィールド firstAlphabeticalGenres に返されます。

db.movies.aggregate( [
{ $match: { $expr: { $gte: [ { $size: "$genres" }, 3 ] } } },
{
$addFields: {
firstAlphabeticalGenres: { $minN: { n: 2, input: "$genres" } }
}
},
{
$project: {
_id: 0,
title: 1,
genres: 1,
firstAlphabeticalGenres: 1
}
},
{ $limit: 5 }
] )

以前のパイプライン:

  • $match を使用して、少なくとも 3 つのジャンルを持つ映画をフィルターします。

  • $addFieldsを使用して、firstAlphabeticalGenresフィールドを作成します。$minN と n: 2 を使用すると、genres 配列から字典順で最初の 2 つの値が返されます。

  • $project を使用して、title、genres、firstAlphabeticalGenresフィールドのみを返します。

  • 読みやすさを向上させるために、`$limit` を使用して 5 つのドキュメントを返します。

このページを評価