getMore
定義
互換性
このコマンドは、次の環境でホストされている配置で使用できます。
MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです
注意
このコマンドは、すべての MongoDB Atlas クラスターでサポートされています。すべてのコマンドに対する Atlas のサポートについては、「サポートされていないコマンド」を参照してください。
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン
構文
このコマンドの構文は、次のとおりです。
db.runCommand( { getMore: <long>, collection: <string>, batchSize: <int>, maxTimeMS: <int>, comment: <any> } )
コマンドフィールド
このコマンドは、次のフィールドを受け入れます。
フィールド | タイプ | 説明 |
---|---|---|
| long | カーソル識別子。 |
| string | カーソルが操作するコレクションの名前。 |
| 正の整数 | 任意。バッチで返すドキュメントの数。
|
| non-negative integer | 任意。 上限付きコレクションの追尾可能 (tailable) カーソル クエリに一致する新しいドキュメントをサーバーが待機する最大時間を指定します。追尾可能な
MongoDB は、
|
| any | 任意。このコマンドに添付するユーザー指定のコメント。設定すると、このコメントは以下の場所にこのコマンドの記録と合わせて表示されます。
コメントには、有効な BSON 型(string, integer, object, array など)を使用できます。 省略した場合、 |
出力
このコマンドは、カーソル情報と次のバッチを含むドキュメントを返します。
たとえば、シャーディングされたクラスターで find
操作によって作成されたカーソルで getMore
を実行すると、次の出力のようなドキュメントが返されます。
{ "cursor" : { "id" : NumberLong("678960441858272731"), "ns" : "test.contacts", "nextBatch" : [ { "_id" : ObjectId("5e8e501e1a32d227f9085857"), "zipcode" : "220000" } ], "partialResultsReturned" : true, "postBatchResumeToken": "< Resume Token >" }, "ok" : 1, "operationTime" : Timestamp(1586385239, 2), "$clusterTime" : { "clusterTime" : Timestamp(1586385239, 2), "signature" : { "hash" : BinData(0,"lLjejeW6AQGReR9x1PD8xU+tP+A="), "keyId" : NumberLong("6813467763969884181") } } }
フィールド | 説明 |
---|---|
| カーソル ID やドキュメントの クエリされたシャードが使用できないために、
|
| コマンドが成功( |
これらのフィールドに加えて、db.runCommand()
応答にはレプリカセットとシャーディングされたクラスターに関する次の情報が含まれています。
$clusterTime
operationTime
詳細については、db.runCommand() レスポンスを参照してください。
動作
アクセス制御
認証が有効になっている場合は、作成したカーソルに対してのみ getMore
を実行できます。
セッション
セッション内で作成されたカーソルの場合、セッション外で getMore
を呼び出すことはできません。
同様に、セッション外で作成されたカーソルでは、セッション内で getMore
を呼び出すことはできません。
トランザクション
マルチドキュメントトランザクションの場合は次のとおりです。
低速クエリ
MongoDB 5.1 以降、getMore
コマンドが スロー クエリ としてログに記録されると、queryHash フィールドと planCacheKey フィールドが スロー クエリ ログ メッセージ と プロファイラー ログ メッセージ に追加されます。