在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 回答
问题来自mongo-hacker ......