1,先写一个clazz班级类:
var mongoose=require('mongoose');
var clazzschema=new mongoose.Schema({
clazzname:String
});
mongoose.model('Clazz',clazzschema);
2:在写一个student类,关联clazz。
/**
* Created by 1 on 2016/4/12.
*/
var mongoose=require('mongoose');
var studentschema=new mongoose.Schema({
studentname:String,
//关联clazz
clazzid:{
type:mongoose.Schema.ObjectId,
ref:'Clazz'
}
});
//写一个静态类;查询该学生的班级
studentschema.statics={
findClazzNameByStudentId:function(studentid,callback){
return this.findOne({_id:studentid})
.populate('clazzid')
.exec(callback);
}
}
mongoose.model('Student',studentschema);
3,在访问链接里面调用。先存一个班级和一个学生;
//var clazz=new Clazz({
// clazzname:'c++'
//});
//
//console.log(clazz);
//
//
//clazz.save(function(err){
// if(err){
// console.log(err);
// }
// var student=new Student({
// studentname:'aaaa',
// clazzid:clazz._id
// });
// console.log(student);
// student.save(function(err){
// if(err){
// console.log(err);
// }
// console.log('success');
// });
//});
4:然后找该学生对应的班级
Student.findClazzNameByStudentId('570ca4956747c9b41e2a5da3',function(err,student){
if(err){
console.log(err);
}
console.log(student.clazzid.clazzname);
});