getMore

在本页面

Definition

与返回游标的命令结合使用,例如findaggregate,以返回光标当前指向的后续文档批次。

Syntax

getMore命令的格式如下:

db.runCommand(
   {
      "getMore": <long>,
      "collection": <string>,
      "batchSize": <int>,
      "maxTimeMS": <int>
   }
)

Command Fields

该命令接受以下字段:

Field Type Description
getMore long 光标 ID。
collection string 游标在其上操作的集合的名称。
batchSize positive integer 可选的。批次中返回的文档数。
maxTimeMS non-negative integer 可选的。指定用于游标的处理操作的时间限制(以毫秒为单位)。如果未为 maxTimeMS 指定值,则操作不会超时。值0明确指定默认的无限制行为。


MongoDB 使用与db.killOp()相同的机制终止超出其分配的时间限制的操作。 MongoDB 仅在其指定的interrupt points之一处终止操作。

Output

该命令返回包含游标信息以及下一批信息的文档。

例如,当getMore在最初由分片群集上的find操作创建的游标上运行时,可能会返回类似于以下文档的文档:

{
   "cursor" : {
      "id" : NumberLong("678960441858272731"),
      "ns" : "test.contacts",
      "nextBatch" : [
         {
            "_id" : ObjectId("5e8e501e1a32d227f9085857"),
            "zipcode" : "220000"
         }
      ]
   },
   "ok" : 1,
   "operationTime" : Timestamp(1586385239, 2),
   "$clusterTime" : {
      "clusterTime" : Timestamp(1586385239, 2),
      "signature" : {
         "hash" : BinData(0,"lLjejeW6AQGReR9x1PD8xU+tP+A="),
         "keyId" : NumberLong("6813467763969884181")
      }
   }
}
Field Description
cursor 包含光标信息,包括光标 ID 以及文档的nextBatch
"ok" 指示命令是成功(1)还是失败(0)。

除了前面提到的getMore特定字段之外,db.runCommand()还包括以下有关副本集和分片群集的信息:

有关详情,请参见db.runCommand() Results

Note

3.6 版的新功能。

如果启用了authentication,则只能对创建的游标发出getMore

首页