模糊查询:就是sql的select * from table where xx like yy的样式的sql语句。
db.user.find({"name":/ab/})
这样,可以查出所有包含有"ab"字符串的数据了。
等同于select * from user where name like "ab"
使用RockMongo客户端工具进行模糊查询
1 | { "content" : "$regex" : "123456" } |
其他情况模糊查询
查询包含XXX
查询以XXX开头
查询以XXX结尾
查询忽略大小写
Spring中不区分大小写的模糊查询
1 2 3 4 5 6 7 8 9 10 11 | //完全匹配 Pattern pattern = Pattern.compile( "^王$" , Pattern.CASE_INSENSITIVE); //右匹配 Pattern pattern = Pattern.compile( "^.*王$" , Pattern.CASE_INSENSITIVE); //左匹配 Pattern pattern = Pattern.compile( "^王.*$" , Pattern.CASE_INSENSITIVE); //模糊匹配 Pattern pattern = Pattern.compile( "^.*王.*$" , Pattern.CASE_INSENSITIVE); Query query = Query.query(Criteria. where (fieldName).regex(pattern)); List<simpleuserinfo> users = mongoTemplate.find(query, SimpleUserInfo.class, classname); return users;</simpleuserinfo> |