Необходимо выбрать записи из MongoDB, где dataEdit >= параметра, передаваемого пользователем в запросе. Делаю следующим образом:
public interface OffersRepository extends MongoRepository<Offers, String> {
@Query("{ 'dateEdit' : { $eq: ?0, $gt: ?0 } }")
List<Offers> findBydateEdit(String dateEdit);
Offers findBy_id(String _id);
}
И потом вызываю:
@Autowired
private OffersRepository offersRepository;
@RequestMapping(value = "/{time}", method = RequestMethod.GET)
public List<Offers> getOffersBydateEdit(@PathVariable ("time") String time) throws ParseException {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = null;
date = format.parse(time);
return offersRepository.findBydateEdit(format.format(date));
}
Возвращает следующим результат: []
Если не использовать данный метод, а просто отфильтровать самому, то результат будет совершенно другой, он вернет подходящие мне записи. Код следующий:
@Autowired
private OffersRepository offersRepository;
@RequestMapping(value = "/{time}", method = RequestMethod.GET)
public ArrayList<Offers> getOffersBydateEdit(@PathVariable ("time") String time) throws ParseException {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = null;
date = format.parse(time);
format.format(date);
List<Offers> ret = offersRepository.findAll();
ArrayList<Offers> ret1 = new ArrayList<>();
for (Offers offer : ret) {
String s = offer.getDateEdit();
Date data = format.parse(s);
if (data.after(date) || data.equals(date)) {
ret1.add(offer);
}
}
return ret1;
}
Что я делаю не так при использовании @Query? Информацию по Query брал отсюда: https://www.baeldung.com/queries-in-spring-data-mongodb Также сделал проверку запроса в Robo3T и подсчитал количество подходящих мне записей:
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Имеется некое число long Как можно было бы вывести все варианты перестановки пар цифр этого числа?
по правилам сжатия последовательность aaaabcc должна преобразоваться в 4ab2c (число показывает сколько повторяющихся символов, если символ один,...