getMore
Definition
Compatibility
This command is available in deployments hosted in the following environments:
MongoDB Atlas: The fully managed service for MongoDB deployments in the cloud
Important
This command has limited support in M0, M2, and M5 clusters. For more information, see Unsupported Commands.
MongoDB Enterprise: The subscription-based, self-managed version of MongoDB
MongoDB Community: The source-available, free-to-use, and self-managed version of MongoDB
Syntax
The command has the following syntax:
db.runCommand( { getMore: <long>, collection: <string>, batchSize: <int>, maxTimeMS: <int>, comment: <any> } )
Command Fields
The command accepts the following fields:
Field | Type | Description |
---|---|---|
getMore | long | The cursor identifier. |
collection | string | The name of the collection over which the cursor is operating. |
batchSize | positive integer | Optional. The number of documents to return in the batch. If |
maxTimeMS | non-negative integer | Optional. Specifies the maximum time for the server to wait for new documents
that match a tailable cursor
query on a capped collection.
MongoDB terminates operations that exceed their allotted time limit
using the same mechanism as
|
comment | any | Optional. A user-provided comment to attach to this command. Once set, this comment appears alongside records of this command in the following locations:
A comment can be any valid BSON type (string, integer, object, array, etc). |
Output
The command returns a document that contains the cursor information as well as the next batch.
For example, running getMore
on a cursor created by a
find
operation on a sharded cluster returns a document
similar to this output:
{ "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") } } }
Field | Description |
---|---|
cursor | Contains the cursor information, including the
cursor ID as well as the If The |
"ok" | Indicates whether the command has succeeded ( 1 ) or failed
(0 ). |
In addition to these fields, the db.runCommand()
response
includes the following information for replica sets and sharded
clusters:
$clusterTime
operationTime
See db.runCommand() Response for details.
Behavior
Access Control
If authentication is enabled, you can
only run getMore
against cursors you created.
Sessions
For cursors created inside a session, you cannot call
getMore
outside the session.
Similarly, for cursors created outside of a session, you cannot call
getMore
inside a session.
Transactions
Slow Queries
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.