1. 程式人生 > >mongodb 中的模糊查詢

mongodb 中的模糊查詢

模糊查詢:就是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

?
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>