MongoDB.local SF, Jan 15: See the speaker lineup & ship your AI vision faster. Use WEB50 to save 50%
Find out more >
Docs Menu
Docs Home
/ /
Cursors

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>)

このメソッドは、次の環境でホストされている配置で使用できます。

  • MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです

注意

このコマンドは、すべての MongoDB Atlas クラスターでサポートされています。すべてのコマンドに対する Atlas のサポートについては、「サポートされていないコマンド」を参照してください。

  • MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン

  • MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン

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

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

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

負の制限は正の制限と似ていますが、1 バッチの結果が返された後にカーソルを閉じます。そのため、負の制限では、制限された結果セットが 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

項目一覧