Du kan hitta "objektet med det maximala fältvärdet" i spring-data-mongodb. Mongo kommer att optimera sorterings-/begränsningskombinationer OM sorteringsfältet är indexerat (eller @Id-fältet). Annars är det fortfarande ganska bra eftersom det kommer att använda en top-k-algoritm och undvika den globala sorteringen (mongodb sort doc) . Det här är från Mkyongs exempel men jag gör sorteringen först och sätter gränsen till en sekund.
Query query = new Query();
query.with(new Sort(Sort.Direction.DESC, "idField"));
query.limit(1);
MyObject maxObject = mongoTemplate.findOne(query, MyObject.class);