1.查询名字不包含“张”的数据(不包含)
Pattern compile = Pattern.compile("^((?!" + "张"+ ").)*$",Pattern.CASE_INSENSITIVE); Query query=new Query(Criteria.where("name").is(compile)); // 或者 Query query=new Query(Criteria.where("name").regex(compile)); mongoTemplate.find(query, Student.class)
2.查询名字包含“张”的数据(包含)
Pattern compile=Pattern.compile("^.*" + "张" + ".*$",Pattern.CASE_INSENSITIVE); Query Query query=new Query(Criteria.where("name").is(compile)); // 或者 Query query=new Query(Criteria.where("name").regex(compile)); mongoTemplate.find(query, Student.class)
3.查询名字为张三的数据(完全匹配)
Pattern compile = Pattern.compile("^" + "张三" + "$",Pattern.CASE_INSENSITIVE); Query query=new Query(Criteria.where("name").is(compile)); // 或者 Query query=new Query(Criteria.where("name").regex(compile)); mongoTemplate.find(query, Student.class)
4.查询名字左边为张的数据(左匹配)
Pattern compile = Pattern.compile("^" + "张" + ".*$"); Query query=new Query(Criteria.where("name").is(compile)); // 或者 Query query=new Query(Criteria.where("name").regex(compile)); mongoTemplate.find(query, Student.class)
5.查询名字最右边是“三”的数据(右匹配)
Pattern compile= Pattern.compile("^.*" + "三" + "$"); Query query=new Query(Criteria.where("name").is(compile)); // 或者 Query query=new Query(Criteria.where("name").regex(compile)); mongoTemplate.find(query, Student.class);
6.查询名字中包含"张",且地址中包含“江西”的数据
Pattern compile1= Pattern.compile("^.*" + "张" + ".*$",Pattern.CASE_INSENSITIVE); Pattern compile2= Pattern.compile("^.*" + "江西" + ".*$",Pattern.CASE_INSENSITIVE); Criteria criteria =new Criteria(); criteria.andOperator(Criteria.where("name").is(compile1),Criteria.where("address").is(compile2)); Query query =new Query(); query.addCriteria(criteria); mongoTemplate.find(query, Student.class);
7.查询名字中包含"张",或地址中包含“江西”的数据
Pattern compile1= Pattern.compile("^.*" + "张" + ".*$",Pattern.CASE_INSENSITIVE); Pattern compile2= Pattern.compile("^.*" + "江西" + ".*$",Pattern.CASE_INSENSITIVE); Criteria criteria =new Criteria(); criteria.orOperator(Criteria.where("name").is(compile1),Criteria.where("address").is(compile2)); Query query =new Query(); query.addCriteria(criteria); mongoTemplate.find(query, Student.class);