您的位置:首页 > 数据库 > Mongodb

MongoDB 内嵌文档查询

2017-09-26 16:44 405 查看
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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: