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

$maxN(演算子)

$maxN

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

注意

$maxN のその他の用途

このページでは、配列から最大の$maxN n値を返す式として使用する場合の について説明します。

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

{ $maxN: { n: <expression>, input: <expression> } }
フィールド
タイプ
説明

n

式

返される要素の数を指定します。正の整数に解決される必要があります。

input

式

最大の n 要素を返す入力配列を指定します。

  • $maxN は null 値をフィルタリングで除外します。

  • input 配列に含まれる要素の数が n 未満の場合、$maxN は配列内のすべての要素を返します。

  • input が配列以外の値に解決された場合、操作はエラーを返します。

  • inputに数値要素と string 要素の両方が含まれている場合、string 要素はBSON比較順序に従って数値要素の前にソートされます。

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

次の例では、$maxN topTwoCast$addFieldsを使用して、 によって作成された新しい フィールドに保存されている、各映画のアルファベット順の最後のキャスト メンバーを返します。

db.movies.aggregate( [
{
$match: {
title: { $in: [ "The Godfather", "Spirited Away", "The Dark Knight" ] }
}
},
{
$addFields: {
topTwoCast: { $maxN: { n: 2, input: "$cast" } }
}
},
{
$project: {
_id: 0,
title: 1,
cast: 1,
topTwoCast: 1
}
},
{
$sort: { title: 1 }
}
] )

先行するパイプライン:

  • $match3 つの特定の映画をフィルタリングするには、 を使用します。

  • と を使用して、$addFields $maxNtopTwoCastを持つ 配列のアルファベット順に最後の 2 つの値を含む新しいフィールドcastn: 2 を作成します。

  • 出力に $projecttitlecast、 、 フィールドのみを含めるには、 を使用します。topTwoCast

  • $sort結果をタイトル別にソートするには、 を使用します。

このページを評価