0

MongoDB は次のようになります。

{  "_id" : ObjectId("503d5024ff9038cdbfcc9da4"),
   "employee" : 61,
   "department" : "Sales",
   "amount" : 77,
   "type" : "airfare"
}

mongoDB コンソールでは、2 つのパラメーター (departmentsおよびtype)で集計できます。

db.workers.aggregate(]{$group:{_id:{department:"$department",type:"$type"},amount_sum:{$sum:"$amount"}}}])

Javaでどのようにしますか?

4

1 に答える 1

1

これはシェルで機能しています。問題は、これを Java に変換する方法です。

db.workers.aggregate([{$group:{_id:{department:"$department",type:"$type"},
                               amount_sum:{$sum:"$amount"}}}])

これは、MongoDB の Java チュートリアルの例と非常によく似ています。

_id唯一の違いは、 の一部に単純な DBObject を$group使用し、 として使用するドキュメントを作成する必要があることです_id。次の行を置き換えます。

DBObject groupFields = new BasicDBObject( "_id", "$department");

と:

DBObject docFields = new BasicDBObject("department", "$department");
docFields.put("type", "$type");
DBObject groupFields = new BasicDBObject( "_id", docFields);

これで準備完了です。

于 2013-06-15T11:32:24.053 に答える