定義
cursor.limit()重要
mongosh メソッド
このページでは メソッドについて説明します。これはNode.jsなどの言語固有のドライバーのドキュメントではありません
mongosh。MongoDB API ドライバーについては、各言語の「MongoDB ドライバーのドキュメント」を参照してください。
limit()カーソルで返されるドキュメントの最大数を指定するには、カーソルで メソッドを使用します。 は、limit()LIMITSQLデータベースの ステートメントに類似しています。注意
limit()データベースからドキュメントを取得する前に、カーソルに を適用する必要があります。limit()を使用してパフォーマンスを最大化し、 MongoDB が処理に必要以上の結果を返すのを防ぎます。limit()メソッドのプロトタイプ形式は次のとおりです。db.collection.find(<query>).limit(<number>)
互換性
このメソッドは、次の環境でホストされている配置で使用できます。
- MongoDB Atlas はクラウドでの MongoDB 配置のための完全管理サービスです
注意
このコマンドは、すべての MongoDB Atlas クラスターでサポートされています。すべてのコマンドに対する Atlas のサポートについては、「サポートされていないコマンド」を参照してください。
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン
動作
サポートされている値
limit()の動作は、- 未満の値および231 231より大きい値の場合、未定義です。
ゼロ値
負の値
負の制限は正の制限と似ていますが、1 バッチの結果が返された後にカーソルを閉じます。そのため、負の制限では、制限された結果セットが 1 つのバッチに収まらない場合、受信されるドキュメントの数は指定された制限よりも少なくなります。負の制限を渡すことにより、クライアントからサーバーに、 getMore 経由で後続のバッチ要求が実行されないことが伝えられます。
limit() を sort() で使用する
limit()sort()limit()とともに を使用する場合、結果を に渡す前に、一意の値を含むフィールドを少なくとも 1 つ並べ替えに含めるようにしてください。
重複する値を含むフィールドをソートすると、特にコレクションが書込み (write) をアクティブに受信している場合、複数回実行時に重複フィールドに対して異なるソート順序が返されることがあります。
並べ替えの整合性を保証する最も簡単な方法は、並べ替えクエリに_idフィールドを含めることです。
詳細については、sort() メソッドによるコンシステントソートを参照してください。
limit() を skip() で使用する
skip()とlimit() を連鎖する場合、メソッド連鎖の順序は結果に影響しません。サーバーは、ドキュメントを返す数に制限を適用する前に、常にソート順のスキップ操作を適用します。
次のコード例は、同じデータセットに対して常に同じクエリ結果を生成するskip() とlimit() の異なるチェーン順序を示しています。
db.myColl.find().sort({_id: 1}).skip(3).limit(6); db.myColl.find().sort({_id: 1}).limit(6).skip(3);