QueryBuilder queryBuilder = new QueryBuilder();
//范围查询
queryBuilder.and("指定字段").in("List集合");
//精准查询
queryBuilder.and(""指定字段"").is("值");
//模糊查询
Pattern pattern = Pattern.compile("^.*" + "模糊值" + ".*$", Pattern.CASE_INSENSITIVE);
queryBuilder.and("指定字段").regex(pattern);
//or模糊查询(例:姓名或者账号包含”zhangsan“)
Pattern pattern = Pattern.compile("^.*" + ”zhangsan“+ ".*$", Pattern.CASE_INSENSITIVE);
BasicDBList basicDBList = new BasicDBList();
basicDBList.add(new BasicDBObject("name",pattern));
basicDBList.add(new BasicDBObject("account",pattern));
DBObject obj =new BasicDBObject();
obj.put("$or", basicDBList);
queryBuilder.or(obj);
//不等于查询
queryBuilder.and("指定字段").notEquals("值");
Query query = new BasicQuery(queryBuilder.get().toString());
mongoTemplate.find(query.with(Sort.by(Sort.Order.desc("排序字段"))), 实体类.class);