Cloudera CDH/CDP 및 Hadoop EcoSystem, Semantic IoT등의 개발/운영 기술을 정리합니다. gooper@gooper.com로 문의 주세요.
* MongoDB shell 구문을 Java Code로 표현하면 아래와 같다.
db.employee.aggregate({$unwind: '$dp.fin.Record'}, {$match:{"dp.mon":"patch.metrics",'dp.fin.Record':{$exists:1}}}, {$group:{_id: '$dp.fin.Record', count:{$sum:1}}}, {$project:{count:'$count'}}, {$group:{_id:'Total Count',total:{$sum:'$count'}}});
-->
DBCollection table=null; MongoClient mongoClient=null; DB db = null; mongoClient = new MongoClient(new ServerAddress(db_server, Integer.parseInt(db_port))); db = mongoClient.getDB(db_name); table = db.getCollection(collection_name); //Forming Unwind parts DBObject unwind = new BasicDBObject("$unwind","$dp.fin.record"); //Forming Match parts DBObject match = new BasicDBObject(); match.put("dp.mon","patch.metrics"); match.put("dp.fin.Record", new BasicDBObject("$exists",1)); //Forming Group parts DBObject group1 = new BasicDBObject(); group1.put("_id", "$dp.fin.Record"); group1.put("count", new BasicDBObject("$sum", 1)); //Forming Project parts DBObject project = new BasicDBObject(); project.put("count", "$count"); //Forming Group parts DBObject group2 = new BasicDBObject(); group2.put("_id", "Total Count"); group2.put("total", new BasicDBObject("$sum", "$count")); /** * Executing aggregation */ AggregationOutput output = table.getCollection("employee").aggregate(unwind, new BasicDBObject("$match",match), new BasicDBObject("$group",group1), new BasicDBObject("$project",project), new BasicDBObject("$group",group2)); // 결과확인 System.out.println("output : "+output);;
댓글 0
번호 | 제목 | 날짜 | 조회 수 |
---|---|---|---|
8 | [JSON 파싱]mongodb의 document를 GSON을 이용하여 parsing할때 ObjectId값에서 오류 발생시 조치방법 | 2017.01.18 | 952 |
7 | like검색한 결과를 기준으로 집계를 수행하는 java 소스 | 2016.12.19 | 828 |
6 | MongoDB에 있는 특정컬럼의 값을 casting(string->integer)하여 update하기 java 소스 | 2016.12.19 | 1038 |
» | mongodb aggregation query를 Java code로 변환한 샘플 | 2016.12.15 | 1284 |
4 | mongodb에서 큰데이타 sort시 오류발생에 대한 해결방법 | 2015.12.22 | 965 |
3 | console명령과 API비교 | 2015.12.21 | 937 |
2 | SQL문장과 Mongo에서 사용하는 명령어를 비교한 것입니다. | 2015.09.30 | 803 |
1 | mongodb 2.6.6 설치(64bit) | 2015.09.30 | 420 |