Możesz znaleźć "obiekt z maksymalną wartością pola" w spring-data-mongodb. Mongo zoptymalizuje kombinacje sortowania/ograniczenia JEŚLI pole sortowania jest indeksowane (lub pole @Id). W przeciwnym razie nadal jest całkiem dobry, ponieważ użyje algorytmu top-k i uniknie sortowania globalnego (mongodb sort doc) . To jest z przykładu Mkyong ale najpierw robię sortowanie i ustawiam limit na jedną sekundę.
Query query = new Query();
query.with(new Sort(Sort.Direction.DESC, "idField"));
query.limit(1);
MyObject maxObject = mongoTemplate.findOne(query, MyObject.class);