java - mongoDB中_id如何聚合由两个元素组成(在Java中)?

标签 java mongodb

MongoDB 看起来像:

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

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

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

用java怎么做?

最佳答案

你已经在 shell 中运行了这个,问题是如何将其转换为 Java。

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

这与 the example in Java tutorial for MongoDB. 非常相似

唯一的区别是,它们对 $group_id 部分使用简单的 DBObject,您需要创建一个文档来用作您的 _id.替换行:

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

与:

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

你应该已经准备好了。

关于java - mongoDB中_id如何聚合由两个元素组成(在Java中)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17122089/

相关文章:

java - 如何使用 Joox 创建新的 xml 文件

JavaFx VBox 中心图像

java - Solr 找不到 JDBC 驱动程序

java - 使用Jetty了解获取和发布

javascript - meteor :仅当值存在时才将字段插入 MongoDB

javascript - mocha测试中的Mongodb访问

c# - 为什么 Mongo C# 驱动程序不重新注册类映射?

java - 使用包依赖项从命令行创建 .class 文件

mongodb - 如何获取原始 M 内的值

java - 我如何为数据对象创建动态模型/对象