Posted on 2012-06-27 15:44
yuhaibo736 阅读(10443)
评论(1) 编辑 收藏
Mongo是没有like查询的方式的
要进行模糊匹配只能借助于正则表达式
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;
}