在java中将mongodb查询结果强制转换为数据模型类
我想创建一个java类的数据模型,这样我就可以使用类中定义的方法自动获取从mongodb的dbcollection中检索到的数据模型的一些属性
假设我在mongodb集合中存储了一个名为“STUDENT”的数据结构,比如:
{
"name":"Jone",
"id":"20140314201"
"courses":[
{
"CourseName":"math",
"teacher":"Prof Smith",
"Score":80
},
{
"CourseName":"literature",
"teacher":"Brown"
"Score":58
}
]
}
这样定义学生班级总是很方便的:
class Student extends BasicDBObject{
private List<Course> courseList = new ArrayList();
private final String name;
private final String id;
public Student(String _name,String _id){
name = _name;
id = _id;
}
public List<Course> getFailedCourseList(){
List<Course> failedCouseList = blablabla...
return failedCouseList
}
public addCourse(Course _course){
couseList.add(_cousrse);
}
.....
}
问题是我能做些工作来实现这些吗:
1.将学生项目保存到mongodb时,我可以这样做:
Student studentItem = new Student("Jone","20140314201")
studentItem.addCourse(course1)
studentItem.addCourse(course2)
....
DBC.save(studentItem)
2.从db collection检索数据时,我可以将BasicDBObject(这是返回的默认对象类型dbcollectionfindOne
)转换为Class Student
我定义:
Student studentJone = (Student)DBC.findOne(new BasicDBObject("name":"Jone"));
这样我就可以通过调用学生类的一个方法来找出哪些课程失败了:
List<Course> failedCourseList = studentJone.getFailedCourseList();
# 1 楼答案
试试这个:
应该是工作
# 2 楼答案
当然可以
请查看此url:http://docs.mongodb.org/ecosystem/tutorial/use-java-dbobject-to-perform-saves/