2016년 3월 23일 수요일

mongodb java group by


List<Map<String, String>> result = new ArrayList<Map<String, String>>();

AggregateIterable<Document> iterable = Mongo.getInstance().getDB().getCollection("colname").aggregate(asList(
    new Document("$group", new Document("_id", "$tag").append("count", new Document("$sum", 1)))));

iterable.forEach(new Block<Document>() {
    @Override
    public void apply(final Document document) {
  Map h = new HashMap<String, String>();
         h.put("name", document.get("_id"));
h.put("count",document.get("count")); str.add(h); } });

$tag 가 group by 를 할 필드의 이름입니다.
위 코드에서는 필드 이름이 tag 입니다.




댓글 없음:

댓글 쓰기