2016-11-27 3 views
3

私はこのエラーについてインターネット上で検索しようとしましたが、何も助けませんでした。私はJavaを使用してmongodbでaggregate関数を使用しようとしています。 RetailerZipは私の結果をグループ化したいフィールドです。インストール

groupFields = new BasicDBObject("_id", 0); 
groupFields.put("count",new BasicDBObject("$sum",1)); 
groupFields.put("_id", "$RetailerZip"); 
group = new BasicDBObject("$group", groupFields); 
sort = new BasicDBObject(); 
projectFields = new BasicDBObject("_id", 0); 

projectFields.put("value", "$_id"); 
projectFields.put("ReviewValue","$count"); 
project = new BasicDBObject("$project", projectFields); 
sort.put("ReviewValue",-1); 
orderby=new BasicDBObject("$sort",sort); 
limit=new BasicDBObject("$limit",5); 

List<DBObject> pipeline = Arrays.asList(group, project, orderby, limit); //error occurs on this line. 
AggregationOutput output = mongo.myReviews.aggregate(pipeline); 

MongoDBのバージョンは次のとおりです。3.2.11

+1

することにより、この

groupFields = new BasicDBObject("_id", 0); groupFields.put("count",new BasicDBObject("$sum",1)); groupFields.put("_id", "$RetailerZip"); 

を交換してみてください? 'group'、' project'などの対象は何ですか? – nullpointer

+0

質問に「RetailerZip」とは記載されていません。質問は確かに改善が必要です。 – nullpointer

答えて

1

あなたは$のグループステージで二回 "_id" を置きます。 あなたが取得しているエラーの詳細を追加することができ

groupFields = new BasicDBObject("_id", "$RetailerZip"); 
groupFields.put("count",new BasicDBObject("$sum",1)); 
+0

ありがとうございました!出来た。 – trin

関連する問題