1

コードで MongoDB 集計関数を次のように呼び出しています。

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" : .... }

理由は何ですか?

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

「no such cmd: aggregate」という同じエラーが発生し、デフォルトの 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 に答える