Просматривая другие посты о том, как сделать необязательный запрос параметров с помощью mongodb и параметров inpu в виде списка, я обнаружил, что это можно сделать с помощью чего-то подобного:
@Query("{ $or : [ { $where: '?0 == null' } , { field : ?0 } ] }")
List<Something> findAll(String query, Pageable pageable);
Мой запрос выглядит так:
@Query("{ $or : [ { $where: '?3 == null' } ,{ input1 : { $in : ?3 } }], 'input2' : ?4 , 'input3' : ?2 ,'dateInput' : {$gt : ?0, $lte : ?1}}")
List<Entities> findThingsbyInputs(Long initialDate, Long endDate, Integer Input2, List<Integer> input1, Integer input3);
Когда я использую этот запрос и Input1 =? 0 = ArrayList , это хорошо работает, если список не равен нулю, но когда? 0 равен нулю, исключение запускается. Я могу запросить несколько входных параметров со списком, но когда ноль, он не работает.
Сообщение об ошибке:
Сбой запроса с кодом ошибки 2 и сообщением об ошибке «$ in нуждается в массиве» на локальном сервере: 27017
Любая помощь? и заранее спасибо