miller_cn 发表于 2013-1-30 01:47:23

MongoDB的模糊查询

Mongo是没有like查询的方式的
要进行模糊匹配只能借助于正则表达式

               Mongo m=new Mongo();               DB db=m.getDB("UserDB");DBCollectioncollection=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);         returnusers;}
页: [1]
查看完整版本: MongoDB的模糊查询