4

当我在 Robomongo 中运行这个聚合管道时

db.getCollection('xyz').aggregate([{$match: {tyu: "asd", ghj: "qwe"}},
{$sample: {size: 5}}])

我收到此错误:

assert: command failed: {
"errmsg" : "exception: Unrecognized pipeline stage name: '$sample'",
"code" : 16436,
"ok" : 0

我使用的是 mongodb 3.2.6 版,因为从 3.2 开始支持 $sample。(https://docs.mongodb.com/manual/reference/operator/aggregation/sample/#pipe._S_sample

我对为什么收到此错误消息感到有些困惑。

也许我只是错过了一些小东西。

谢谢

4

1 回答 1

4

如问题评论中所述。Mongo 客户端的版本是 3.2.6,但 Mongo db 的版本是 3.0.6。

version()在 shell 中使用来获取客户端的版本并 db.version()获取数据库的版本。

如 mongo 文档https://docs.mongodb.com/manual/reference/operator/aggregation/sample/#pipe._S_sample$sample中所述, ver 3.0.6 太低而无法支持

于 2016-07-11T08:08:14.527 回答