在java中迭代聚合输出

在java中迭代聚合输出,java,mongodb,Java,Mongodb,我想用mongo编写这个查询- select account, count(*) from OBD_active group by account; 我正在用java编写代码- DBObject match = new BasicDBObject("$match", new BasicDBObject() ); DBObject fields = new BasicDBObject("account", 1); fields.put("status", 1)

我想用mongo编写这个查询-

select account, count(*) from OBD_active group by account;
我正在用java编写代码-

 DBObject match = new BasicDBObject("$match", new BasicDBObject() );

        DBObject fields = new BasicDBObject("account", 1);
        fields.put("status", 1);
        fields.put("_id", 0);
        DBObject project = new BasicDBObject("$project", fields );

        DBObject groupFields = new BasicDBObject( "count", "$account");
        groupFields.put("total", new BasicDBObject( "$sum", "$status"));
        DBObject group = new BasicDBObject("$group", groupFields);

        db = Connect.getConnection();
        coll = collection(db, "OBD_active");

        AggregationOutput output = coll.aggregate( match, project, group );


        System.out.println("Output is"+output);

  and getting output-



Output is{ "serverUsed" : "localhost/127.0.0.1:27017" , "result" : [ { "_id" : "relnew" , "total" : 3.0} , { "_id" : "tata" , "total" : 2.0}] , "ok" : 1.0}

结果还可以,但我想迭代这个结果,如何实现这个结果?

MongoDB javadoc给出了答案:

Iterable
“意味着”可以在foreach循环中使用。因此:

for (final DBObject result: output.results())
    // do something with the result

MongoDB javadoc给出了答案:

Iterable
“意味着”可以在foreach循环中使用。因此:

for (final DBObject result: output.results())
    // do something with the result