MongoDB Java驱动程序:没有这样的cmd:aggregate

时间:2012-12-04 03:59:02

标签: mongodb mongodb-query mongodb-java

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

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

我已经在我的localhost中测试了我的代码,它完美无缺。当我在另一个DB(版本2.2.1)中使用相同的时,它会出现此错误:

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

有什么线索?

3 个答案:

答案 0 :(得分:7)

基于其他答案,我看到过类似的问题,看起来很可能服务器实际上不是2.2.1,因为你相信。

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

从shell中试试这个:

use admin
db.runCommand( {buildInfo: 1} )

答案 1 :(得分:2)

弄明白了这个错误。我在MongoDB Java驱动程序上使用2.9版本。当我升级到2.10时,它运行得很好。谢谢大家:)

答案 2 :(得分:0)

我遇到了同样的错误&#34;没有这样的cmd:aggregate&#34;,我从默认的debian存储库尝试了新版本的mongodb 2.4,2.6并且总是收到此错误。

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