1

我在我的代码中调用 MongoDB 聚合函数:

AggregationOutput output = collection.aggregate( matchUserID, unwindF, matchFUsers,projection);

我已经在本地主机中测试了我的代码,它运行良好。当我在另一个数据库(版本 2.2.1)中使用相同的数据库时,会出现以下错误:

com.mongodb.CommandResult$CommandFailure: command failed [aggregate]: { "serverUsed" : "<server address>" , "errmsg" : "no such cmd: aggregate" , "bad cmd" : { "aggregate" : .... }

任何线索为什么?

4

3 回答 3

7

根据我对类似问题看到的其他答案,服务器似乎很可能实际上不是您认为的 2.2.1。

你如何检查服务器的版本号?

从外壳,试试这个:

use admin
db.runCommand( {buildInfo: 1} )
于 2012-12-04T04:08:52.063 回答
2

找出了错误。我在 MongoDB Java 驱动程序上使用 2.9 版本。当我将它升级到 2.10 时,它运行良好。谢谢各位:)

于 2012-12-04T21:51:37.067 回答
0

我有同样的错误“没有这样的 cmd:聚合”,我从默认的 debian 存储库尝试了新版本的 mongodb 2.4、2.6,并且总是收到这个错误。

之后从 mongo repo 安装 mongodb-org-server 并且它工作 http://docs.mongodb.org/manual/tutorial/install-mongodb-on-debian/

于 2014-05-30T09:08:56.090 回答