getmore
定义
兼容性
此命令可用于以下环境中托管的部署:
MongoDB Atlas:用于云中 MongoDB 部署的完全托管服务
注意
所有 MongoDB Atlas 集群都支持此命令。有关 Atlas 对所有命令的支持的信息,请参阅不支持的命令。
MongoDB Enterprise:基于订阅、自我管理的 MongoDB 版本
MongoDB Community:源代码可用、免费使用且可自行管理的 MongoDB 版本
语法
getMore
命令采用以下形式:
db.runCommand( { "getMore": <long>, "collection": <string>, "batchSize": <int>, "maxTimeMS": <int>, "comment": <any> } )
命令字段
该命令接受以下字段:
字段 | 类型 | 说明 |
---|---|---|
| long | 游标标识符。 |
| 字符串 | 游标所操作的集合的名称。 |
| 正整数 | 可选。该批次中待返回的文档数量。 如果未设置 |
| non-negative integer | 可选。 指定服务器等待与固定大小 集合 上的可 追加游标 查询匹配的新文档的最长时间。驱动程序只会为固定大小集合上的
MongoDB 使用与
|
| any | 可选。用户提供的待附加到该命令的注释。设置后,该注释将与该命令的记录一起出现在以下位置:
注释可以是任何有效的 BSON 类型(字符串、整型、对象、数组等)。 |
输出
此命令会返回包含游标信息的文档以及下一批处理。
例如,在分片集群上通过 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
。
事务
对于多文档事务: