定義
互換性
このコマンドは、次の環境でホストされている配置で使用できます。
- MongoDB Atlas: The fully managed service for MongoDB deployments in the cloud
注意
This command is supported in all MongoDB Atlas clusters. For information on Atlas support for all commands, see Unsupported Commands.
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" : Long("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" : Long("6813467763969884181") } } }
フィールド | 説明 |
|---|---|
| カーソル ID やドキュメントの If
MongoDB 9.0 以降では、 |
| コマンドが成功( |
これらのフィールドに加えて、db.runCommand() 応答にはレプリカセットとシャーディングされたクラスターに関する次の情報が含まれています。
$clusterTimeoperationTime
詳細については、db.runCommand() レスポンスを参照してください。
動作
アクセス制御
認証が有効になっている場合は、作成したカーソルに対してのみ getMore を実行できます。
セッション
セッション内で作成されたカーソルの場合、セッション外で getMore を呼び出すことはできません。
セッション外で作成されたカーソルの場合、セッション内で getMore を呼び出すことはできません。
トランザクション
マルチドキュメントトランザクションの場合は次のとおりです。
Errors
MongoDB 8.2以降では、カーソル識別子は、指定されたcollectionで操作するカーソルの名前と一致する必要があります。一致するカーソルが存在しない場合、getMoreはエラーを返します。
低速クエリ
Starting in MongoDB 5.1, when a getMore command is logged as a slow query, the queryHash and planCacheKey fields are added to the slow query log message and the profiler log message.
MongoDB 8.0 以降では、既存の queryHashフィールドはplanCacheShapeHash という名前の新しいフィールドに重複します。 以前のバージョンのMongoDBを使用している場合は、queryHashフィールドのみが表示されます。 今後のMongoDBバージョンでは、非推奨の queryHashフィールドが排除されます。代わりに planCacheShapeHashフィールドを使用する必要があります。