OK ,我自己找出来了,aggregate函数需要三个参数的key分别是$match、$group、$project.我上面的代码没有设置$project属性,导致即使查询出来的结果但是依然没有显示。修正为:
BSONObject $matcher = new BasicBSONObject();
BSONObject matcher = new BasicBSONObject();
matcher.put("pid", "0");
$matcher.put("$match", matcher);
BSONObject $group = new BasicBSONObject();
BSONObject max = new BasicBSONObject();
BSONObject out = new BasicBSONObject();
out.put("$max", "$displayOrder");
max.put("maxDisplayOrder", out);
$group.put("$group", max);
BSONObject $project = new BasicBSONObject();
BSONObject project = new BasicBSONObject();
project.put("maxDisplayOrder", 1);
$project.put("$project", project);
List list = menuDao.aggregate($matcher, $group, $project);