mongoTemplate模糊查询,查不到数据

问题:java使用mongoTemplate正则表达式,无法模糊查询。

例子:关键词【多少钱】,输入【多少】是没法匹配的。输入完整的【多少钱】可正常返回

服务端代码

public QA findAByKeyWord(String keyWord) {
Pattern pattern = Pattern.compile("^.*" + keyWord + ".*$",Pattern.CASE_INSENSITIVE);
        if (!StringUtils.isEmpty(keyWord)){
            Criteria criteria = Criteria.where("keyword").regex(pattern);
            Query query = new Query(criteria).with(Sort.by(Sort.Direction.DESC,"sort"));
            query.fields().include("answer");
            query.fields().exclude("_id");
            return mongoTemplate.findOne(query, QA.class, "qa");
        }else {
            return null;
        }}

把正则修改为下面的也不行

 Pattern pattern = Pattern.compile(".*?" + keyWord+ ".*");

mongodb数据库

img

regex 你把这个查询换一下,应该是这个影响到了