MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Méthode ou requête MongoTemplate pour trouver les valeurs maximales d'un champs

Vous pouvez trouver "l'objet avec la valeur de champ maximale" dans spring-data-mongodb. Mongo optimisera les combinaisons tri/limite SI le champ de tri est indexé (ou le champ @Id). Sinon ça reste plutôt pas mal car ça va utiliser un algorithme top-k et éviter le tri global (document de tri mongodb) . Ceci provient de l'exemple de Mkyong mais je fais d'abord le tri et fixe la limite à une seconde.

Query query = new Query();
query.with(new Sort(Sort.Direction.DESC, "idField"));
query.limit(1);
MyObject maxObject = mongoTemplate.findOne(query, MyObject.class);