Docs Menu
Docs Home
/
MongoDBマニュアル
/ / /

cursor.limit()

項目一覧

  • 定義
  • 動作
cursor.limit()

重要

mongosh メソッド

このページでは、 mongosh メソッドが文書化されます。これは Node.js などの言語固有のドライバーのドキュメントではありません

MongoDB API ドライバーについては、各言語の MongoDB ドライバー ドキュメントを参照してください。

カーソルで返されるドキュメントの最大数を指定するには、カーソルでlimit()メソッドを使用します。 limit()は、SQL データベースのLIMITステートメントに類似しています。

注意

データベースからドキュメントを取得する前に、カーソルにlimit()を適用する必要があります。

パフォーマンスを最大化し、MongoDB が処理に必要以上の結果を返すのを防ぐには、 limit()を使用します。

limit() メソッドのプロトタイプ形式は次のとおりです。

db.collection.find(<query>).limit(<number>)

limit()の動作は、- 2 31未満の値および2 31 より大きい値の場合、未定義です。

limit()には数値を指定する必要があります。

0のlimit()値(つまり .limit(0) )は、制限を設定しない場合と同等です。

負の制限は正の制限と似ていますが、単一のバッチの結果が返された後にカーソルを閉じます。 そのため、負の制限では、制限された結果セットが 1 つのバッチに収まらない場合、受信されるドキュメントの数は指定された制限よりも少なくなります。 負の制限を渡すことにより、クライアントからサーバーに、 getMore経由で後続のバッチ要求が実行されないことが伝えられます。

limit()sort()と併用する場合、結果をlimit()に渡す前に、一意の値を含むフィールドを少なくとも 1 つ並べ替えに含めるようにしてください。

重複する値を含むフィールドをソートすると、特にコレクションが書込み (write) をアクティブに受信している場合、複数回実行時に重複フィールドに対して異なるソート順序が返されることがあります。

並べ替えの整合性を保証する最も簡単な方法は、並べ替えクエリに_idフィールドを含めることです。

詳細については、sort() メソッドによるコンシステントソートを参照してください。

skip()limit()を連鎖する場合、メソッド連鎖の順序は結果に影響しません。 サーバーは、ドキュメントを返す数に制限を適用する前に、常にソート順のスキップ操作を適用します。

次のコード例は、skip()limit()の異なるチェーン順序を示しており、これらは常に同じデータセットに対して同じクエリ結果を生成します。

db.myColl.find().sort({_id: 1}).skip(3).limit(6);
db.myColl.find().sort({_id: 1}).limit(6).skip(3);

戻る

cursor.itcount

項目一覧