定义
兼容性
此命令可用于以下环境中托管的部署:
- 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 | 游标标识符。 |
| 字符串 | 游标所操作的集合的名称。 |
| 正整数 | 可选.每个批处理返回的最大文档数量。 如果未设置 |
| non-negative integer | 可选。 指定服务器在 固定大小集合 上等待与 可追加游标 查询匹配的新文档的时长。对于可追加 驱动程序仅对固定大小集合上的可追加游标设置此值,其中
MongoDB 使用与
|
| any | 可选。用户提供的待附加到该命令的注释。设置后,该注释将与该命令的记录一起出现在以下位置:
注释可以是任何有效的 BSON 类型(字符串、整型、对象、数组等)。 |
输出
该命令会返回包含游标信息和下一批处理的文档。
例如,在分片集群上通过 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字段。