2012-12-04 61 views
1

我打電話在我的代碼MongoDB的聚合函數爲:MongoDB的Java驅動程序:沒有這樣的CMD:總

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

我已經測試我的代碼在我的本地主機,和它的作品完美。當我在另一個DB(2.2.1版本)使用相同的,它給這個錯誤:

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

任何線索,爲什麼?

回答

7

基於我已經看到了類似的問題其他的答案,它似乎最有可能的是,服務器實際上不是2.2.1你相信。

您如何檢查服務器的版本號?

從貝,試試這個:

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

我猜是。我得到這個,當我運行命令: db.runCommand({buildInfo:1}){ \t 「版本」: 「2.2.1」, \t 「versionArray」: \t \t 2, \t \t 2 , \t \t 1, \t \t], <其他服務器的信息。> } – sharath

+0

這看起來向右。你確定這是你的應用程序連接到的實例嗎? – paulmelnikow

+0

我有兩個版本的MongoDB安裝在我的系統中,我錯誤地啓動了我的舊版本。謝謝 – Shams

2

想通了錯誤。我在MongoDB Java驅動程序上使用了2.9版本。當我將其升級到2.10時,它完美運行。感謝鄉親:)

+0

你可以接受答案。 – Buchi