cursor.limit()
定義
cursor.limit()
重要
mongosh メソッド
これは
mongosh
メソッドです。 これは、Node.js
またはその他のプログラミング言語固有のドライバー メソッドのドキュメントではありません。ほとんどの場合、
mongosh
メソッドはレガシーのmongo
shell メソッドと同じように動作します。 ただし、一部のレガシー メソッドはmongosh
では利用できません。レガシー
mongo
shell のドキュメントについては、対応する MongoDB Server リリースのドキュメントを参照してください。MongoDB API ドライバーについては、各言語のMongoDB ドライバードキュメント を参照してください。
カーソルで返されるドキュメントの最大数を指定するには、カーソルで
limit()
メソッドを使用します。limit()
は、SQL データベースのLIMIT
ステートメントに類似しています。注意
データベースからドキュメントを取得する前に、カーソルに
limit()
を適用する必要があります。パフォーマンスを最大化し、MongoDB が処理に必要以上の結果を返すのを防ぐには、
limit()
を使用します。limit()
メソッドのプロトタイプ形式は次のとおりです。db.collection.find(<query>).limit(<number>)
動作
サポートされている値
limit()
の動作は、- 2 31未満の値および2 31 より大きい値の場合、未定義です。
ゼロ値
負の値
負の制限は正の制限と似ていますが、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);