我在我的代码中调用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" : .... }
有什么线索?
答案 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/