mongodb 中的模糊查詢
阿新 • • 發佈:2019-01-04
模糊查詢:就是sql的select * from table where xx like yy的樣式的sql語句。
db.user.find({"name":/ab/})
這樣,可以查出所有包含有"ab"字串的資料了。
?
db.user.find({"name":/ab/})
這樣,可以查出所有包含有"ab"字串的資料了。
等同於select * from user where name like "ab"
使用RockMongo客戶端工具進行模糊查詢
?1 | { "content" : "$regex" : "123456" } |
其他情況模糊查詢
查詢包含XXX
?1 | { name :/xxx/} |
查詢以XXX開頭
?1 | { name :/^xxx/} |
查詢以XXX結尾
?1 | { name :/xxx^/} |
查詢忽略大小寫
?1 | { name :/xxx/i} |
Spring中不區分大小寫的模糊查詢
1234567891011 | //完全匹配 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> |