首页 文章

MongoDB 3.6聚合返回firstBatch

提问于
浏览
0

在MongoDB 3.4中(根据文档仍然在3.6中), collection.aggregate([...]) 方法返回一个游标 . 然后我们可以做 collection.aggregate([...]).toArray().forEach() . 获取或迭代结果数组 .

从3.6开始(现在需要 cursor 选项,这在doc中没有指定),以下命令:

collection.aggregate(
  [...],
  { cursor: { batchSize: 10 } }
)

返回具有此形状的对象:

{
  "cursor": {
    "firstBatch": [...],
    "id",
    "ns"
  },
  "ok": 1,
  "$clusterTime": {...},
  "operationTime": Timestamp(1525344553, 1)
}

迭代整个结果是不可能的, collection.aggregate([...]).toArray() 不是一个函数 . 我发现了一些与此有关的问题,但没有什么真正相关的 . 这个文档真的已经过时了,我甚至不确定这是预期的行为 .

注意:我在mongoshell中运行它,但也遇到了最后一个节点驱动程序的这些问题 .

1 回答

  • 0

    问题来自mongo-hacker ......

相关问题