Сегодня я обновил версию своего spring-boot-starter-data-mongodb с версии 2.0.3 до версии 2.2.6 (драйвер mongodb 3.6.4-> 3.11.2). К сожалению, у меня есть ошибки, которые произошли.
До того, как я использовал:
@Query("{$and :["
+ "?#{ [0] == null ? { $where : 'true'} : { 'v1' : { $in : [0] } } },"
+ "?#{ [1] == null ? { $where : 'true'} : { 'v2' : [1] } },"
+ "?#{ [2] == null ? { $where : 'true'} : { 'v3' : [2] } },"
+ "?#{ [3] == null ? { $where : 'true'} : { 'v4' : [3] } },"
+ "?#{ [4] == null ? { $where : 'true'} : { 'v5' : [4] } },"
+ "?#{ [5] == null ? { $where : 'true'} : { 'v6' : { $in : [5] } } }"
+ "]}")
Теперь я получаю сообщение об ошибке и выражение:
EL1041E: After parsing a valid expression, there is still more data in the expression: 'colon(:)'.
Я использовал упрощенный версия без выражения spEl, и она работает, но я бы хотел продолжить использовать spEl в своих запросах, потому что они иногда бывают сложными. У кого-нибудь есть представление о проблеме?