0

MongoDB 看起来像:

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

在 mongoDB 控制台中,我可以通过两个参数(departmentstype)聚合:

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

在java中是如何实现的?

4

1 回答 1

1

你有这个在shell中工作,问题是如何把它变成Java。

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

这与MongoDB 的 Java 教程中的示例非常相似。

唯一的区别是他们使用一个简单的 DBObject 作为_id其中的一部分,$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 回答