Spring 数据 MongoDB 检查字段是否包含文本
Spring data MongoDB check if field contains text
我在 mongoDb 集合 "name" 中有字段,其中包含:
"26.11.2018(2)"
我使用正则表达式搜索字段 "name":
中是否包含任何字符串
String search = "11.2018(2)";
return Criteria.where("name").regex(search);
我遇到异常,正则表达式是错误的(因为“)”)。还有其他的搜索方式吗?
您需要对正则表达式中使用的值进行转义。
我现在无法测试它,但它可能会起作用:
String search = "some pattern(a)12.";
pattern = Pattern.compile(Pattern.escape(search));
return Criteria.where("name").regex(pattern);
https://mongodb.github.io/mongo-java-driver/3.4/javadoc/?com/mongodb/client/model/Filters.html
我在 mongoDb 集合 "name" 中有字段,其中包含:
"26.11.2018(2)"
我使用正则表达式搜索字段 "name":
中是否包含任何字符串String search = "11.2018(2)";
return Criteria.where("name").regex(search);
我遇到异常,正则表达式是错误的(因为“)”)。还有其他的搜索方式吗?
您需要对正则表达式中使用的值进行转义。
我现在无法测试它,但它可能会起作用:
String search = "some pattern(a)12.";
pattern = Pattern.compile(Pattern.escape(search));
return Criteria.where("name").regex(pattern);
https://mongodb.github.io/mongo-java-driver/3.4/javadoc/?com/mongodb/client/model/Filters.html