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