$limit(集計)
定義
互換性
次の環境でホストされる配置には $limit
を使用できます。
MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン
構文
$limit
ステージのプロトタイプ形式は次のとおりです。
{ $limit: <positive 64-bit integer> }
$limit
渡すドキュメントの最大数を指定する正の整数を取ります。
注意
MongoDB 5.0 以降では、$limit
パイプライン集計に 64 ビットの整数制限があります。この制限を超える値がパイプラインに渡されると、無効な引数エラーが返されます。
動作
ソートされた結果での $limit の使用
$limit
ステージを次のいずれかで使用する場合、
$sort
集約段階、sort()
メソッド、またはfindAndModify
コマンドまたはfindAndModify()
shellメソッドに対するsort
フィールド
結果を $limit
ステージに渡す前に、一意の値を含むフィールドを 1 つ以上ソートの中に含めるようにします。
重複する値を含むフィールドをソートすると、特にコレクションが書込み (write) をアクティブに受信している場合、複数回実行時に重複フィールドに対して異なるソート順序が返されることがあります。
並べ替えの整合性を保証する最も簡単な方法は、並べ替えクエリに_id
フィールドを含めることです。
それぞれの詳細については、以下を参照してください。
例
次の例で考えてみます。
db.article.aggregate([ { $limit : 5 } ]);
この操作は、パイプラインによって渡された最初の 5 個のドキュメントのみを返します。$limit
は、渡すドキュメントの内容には影響しません。