Как применить условие нескольких критериев, используя MogoTemplate
Я хочу применить несколько условий к критериям, но andOperator секунд String дает ошибку
mongoTemplate.find(new Query(new Criteria().andOperator (Criteria.where("messagesTime)).gte(DateTime.now().minusMinutes(15).millisOfSecond()) .andOperator(Criteria.where("failCount "))).gt(3))));
1 ответ
Решение
Определение критерия выглядит хорошо. Однако одна из причин, по которой это может привести к ошибке, заключается в том, что вы не передаете второй аргумент find
метод. Посмотрите на Javadoc здесь:
публичный список находок (Query query, Class entityClass)
коллекция для класса сущности в список указанного типа.
Попробуйте следующее:
mongoTemplate.find(new Query(new Criteria().andOperator (Criteria.where("notificationTime")
.gte(DateTime.now().minusMinutes(15).millisOfSecond())
.andOperator(Criteria.where("failureCount")).gt(3))), Response.class);
куда Response.class
это класс, которому вы хотите дать свой ответ.