posts - 41, comments - 15, trackbacks - 0, articles - 1
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

MongoDB的模糊查询

Posted on 2012-06-27 15:44 yuhaibo736 阅读(10430) 评论(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;

        }  


评论

# re: MongoDB的模糊查询  回复  更多评论   

2013-05-10 09:44 by asd
wqeqwe

只有注册用户登录后才能发表评论。


网站导航: