您可以使用以下代码:
ArrayList<String> list = new ArrayList<>(); list.add("$likes"); BasicDBObject idObj = new BasicDBObject("_id", 1); BasicDBObject likesObj = new BasicDBObject("$avg", new BasicDBObject("$size", list)); BasicDBObject countObj = new BasicDBObject("$sum", 1); idObj.append("likes", likesObj).append("count", countObj); BasicDBObject group = new BasicDBObject("$group", idObj); List<DBObject> pipeline = new ArrayList<>(); pipeline.add(group); MongoTemplate mongoTemplate = new MongoTemplate(new MongoClient(), "dbname"); AggregationOutput aggregationOutput = mongoTemplate.getCollection("collectionName") .aggregate(pipeline); List<DBObject> dbObjects = (List<DBObject>) aggregationOutput.results(); //convert dbObjects into appropriate output