0

Использование Spring-Data-Mongo как ограничить поиск?Использование Spring-Data-Mongo как ограничить поиск?

Я пытаюсь найти всех старше 19 лет, но менее 50 лет? поле называется «возраст». Следующий код не работает

public void countUnderAge() 
{ 
    List<Person> results = null; 

    Query query = new Query(); 
    Criteria criteria = new Criteria(); 
    criteria = criteria.lte("21"); 

    query.addCriteria(criteria); 
    results = mongoTemplate.find(query, Person.class); 

    logger.info("Total number of under age in database: {}", results.size()); 
} 

ответ

0

Используйте это:

Query query= new Query(); 
query.addCriteria(where("age").lte(21)); 
List<Person> results = mongoTemplate.find(query, Person.class); 

Вы пропускаете имя поля, где положение. Вы также можете сделать:

Query query = new Query(); 
Criteria criteria = new Criteria(); 
criteria = where("age").lte("21"); 
query.addCriteria(criteria); 

Для использования «где» нужно добавить этот импорт:

import static org.springframework.data.mongodb.core.query.Criteria.where; 
+0

предел не делает его по возрасту! и я не вижу меньше! – user2428795

+0

Извините, я неправильно понял вопрос. Я обновляю ответ – AntonioOtero