midoDB中_id的聚合如何由两个元素组成(在Java中)?

时间:2013-06-15 09:23:39

标签: java mongodb

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中怎么做?

1 个答案:

答案 0 :(得分:1)

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

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

这与the example in Java tutorial for MongoDB.

非常相似

唯一的区别是他们为_id的{​​{1}}部分使用了一个简单的DBObject,您需要创建一个文档用作$group。替换行:

_id

使用:

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

你应该全力以赴。