Posted on 2012-06-27 15:44
yuhaibo736 閱讀(10448)
評論(1) 編輯 收藏
Mongo是沒有l(wèi)ike查詢的方式的
要進行模糊匹配只能借助于正則表達式
Java代碼:
Mongo m=new Mongo();
DB db=m.getDB("UserDB");
DBCollection collection=db.getCollection("userCollection");
BasicDBObject cond=new BasicDBObject();
if(province!=""){
cond.put("province", province);
}
if(area!=""){
cond.put("area", area);
}
if(keywords!=""){
Pattern pattern=Pattern.compile("^.*"+keywords+".*$");
cond.put("name", pattern);
}
DBCursor returns=collection.find(cond);
還有一種是mongoDB 和Spring結合的 Spring-data的模式查詢 代碼如下 :
public List<User> findUserTop9(String s) {
mongoTemplate.setDatabaseName("UserDB");
mongoTemplate.setDefaultCollectionName("userColl");
List<User> users = mongoTemplate.find(new Query(new Criteria( "name").regex(".*?"+"張"+".*")).limit(9), User.class);
return users;
}