六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 554|回复: 0

MongoDB的模糊查询

[复制链接]

升级  20%

2

主题

2

主题

2

主题

童生

Rank: 1

积分
10
 楼主| 发表于 2013-1-12 13:26:32 | 显示全部楼层 |阅读模式
Mongo是没有like查询的方式的
要进行模糊匹配只能借助于正则表达式

               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;}
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表