java查询代码
/** * 查询教师年龄 30 岁 且所带 年龄为 20 岁且来自 china 学生的教师 */ @Test public void queryTest(){ BasicDBList basicDBList=new BasicDBList(); //教师姓名 basicDBList.add(new BasicDBObject("age","30")); //内嵌文档多条件 basicDBList.add(new BasicDBObject("studentList", new BasicDBObject("$elemMatch",new BasicDBObject("from","china")))); basicDBList.add(new BasicDBObject("studentList", new BasicDBObject("$elemMatch",new BasicDBObject("age","20")))); DBObject obj =new BasicDBObject(); // and 查询 obj.put("$and", basicDBList); Query query= new BasicQuery(obj); List<Teacher> teachers = mongoTemplate.find(query, Teacher.class); }
教师信息(get 、set 省略)
/** * @author Cheng.Wei * @ClassName Teacher * @Description 教师信息 * @date 2017-09-26 16:23 */ @Document(collection = "student") public class Teacher implements Serializable{ @Id private String id; private String name; private Integer age; private List<Student> studentList; }
学生信息(get 、set 省略)
/** * @author Cheng.Wei * @ClassName Student * @Description 学生信息 * @date 2017-09-26 16:14 */ public class Student { private String name; private Integer age; private String from; }