aggregation in mongodb with java / jar version for aggregation / jar version for mongodb aggregation / aggregation helper function 만들기 / 사용하기
mongoDB 의 java driver
ref. 1 에 가면 download 를 받을 수 있다.java driver for aggregation
aggregation helper function 은 java driver version 이 2.9.0 이상부터 제공하는 듯 하다.Version 2.9.0 of the Java driver provides a new helper method, DBCollection.aggregate() which can be used to create aggregation tasks.[ref. 2]하지만 그렇다고 해서 aggregation 을 사용하지 못하는 것은 아니다. 사용하고 있는 MongoDB 가 aggregation 을 지원하는 버전이라면 사용할 수 있다.
2.9.0 이전에서 사용하기
mongo-java-driver-2.9.0-sources.jar 를 download 받고, 여기서
- AggregationOutput.java
- DBCollection.java
AggregationOutput.java 은 사용해야 하니, 알맞은 package 에 집어넣고, DBCollection 내부의 aggregate() 함수만 copy 해 오면 된다. 엉성하지만 대충 아래같이 만들어서 사용하면 된다.
public AggregationOutput dbAggregate(DB db, String collectionName, DBObject firstOp, DBObject ... additionalOps){ if (firstOp == null) throw new IllegalArgumentException("aggregate can not accept null pipeline operation"); DBObject command = new BasicDBObject("aggregate", collectionName ); ListpipelineOps = new ArrayList (); pipelineOps.add(firstOp); Collections.addAll(pipelineOps, additionalOps); command.put( "pipeline", pipelineOps ); CommandResult res = db.command( command ); res.throwOnError(); return new AggregationOutput( command, res ); }
댓글 없음:
댓글 쓰기