欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

MongoDB的聚合查询

程序员文章站 2022-06-02 09:49:19
...

MongoDB的聚合查询 Java代码 www.2cto.com MongoClient mongoClient = null; try { mongoClient = new MongoClient(102.198.119.29, 27017); DB db = mongoClient.getDB(syslog); //设置Where条件 DBObject match = new BasicDBObject($match, new BasicDBOb

MongoDB的聚合查询

Java代码 www.2cto.com

MongoClient mongoClient = null;

try {

mongoClient = new MongoClient("102.198.119.29", 27017);

DB db = mongoClient.getDB("syslog");

//设置Where条件

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

"DATE",

(new BasicDBObject("$gt", "2012-11-28 00:19:00")).append(

"$lt", "2012-11-29 09:19:00")));

//设置分组字段

BasicDBObject groupFilters = new BasicDBObject("_id", "$PRIORITY");

//对分组字段统计行数

groupFilters.put("count", new BasicDBObject("$sum", 1));

BasicDBObject group = new BasicDBObject("$group", groupFilters);

//设置显示的字段集合

DBObject fields = new BasicDBObject("PRIORITY", 1);

fields.put("_id", "$PRIORITY");

DBObject project = new BasicDBObject("$project", fields);

AggregationOutput output = db.getCollection("messages").aggregate(

match, project, group);

System.out.println(output.getCommandResult());

} catch (UnknownHostException e) {

e.printStackTrace();

}