Spring Mongo создает как запрос
Я могу сопоставить начало строки, т.е. закрыто с ключевыми словами, и это дает мне правильный результат db.post.find({"keywords":"/^clo/"}).pretty()
Когда я пытался написать тот же запрос, используя Spring Mongo. Он не работает должным образом. Это дает результат в виде% string %. то есть совпадает в любом месте строки. Я пытаюсь соответствовать только на старте. мой код
String pattern = "/^" + keyword + "/";
Criteria criteria2 = Criteria.where("keywords").is(keyword).regex(pattern);
Где я скучаю?
1 ответ
Решение
Вы можете сделать это так:
Query.query(Criteria.where("keywords").regex("^clo"))
Или используйте его как собственный запрос:
new BasicQuery("{'keywords' : '/^clo/'}")
метод is()
обеспечивает полное equals
, regex()
должен быть без /
оберток.
Это твоя проблема.