MongoDB的聚合查询

		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();
		}

猜你喜欢

转载自huiy.iteye.com/blog/1739048