我在Node.js中正在尝试填充模式时遇到问题。我有两个模式,其中一个是“UserSchema”的引用,我在这里添加我的代码,请任何人都帮我解决这个问题。如果我删除此代码唯一的工作是“.populate(‘user.email’)”的一部分Node.js填充不处理代码
Student.find({'Name': req.studentInfo.Name})
.populate('user.email').exec(function(err, numberOfPendingRequests){
if(err){
return next(err);
}else{
console.log('\n\n\nFound unapproved requests\n\n\n');
console.log(numberOfPendingRequests);
req.studentInfo.unapprovedRequests = numberOfPendingRequests;
return next();
}
})
// user.js
var userSchema = mongoose.Schema({
profile_id : String,
token : String,
email : String,
name : String,
provider : String,
detailSubmited: {
type: Boolean,
default: false
}
});
module.exports = mongoose.model('User', userSchema);
// student.js
var studentSchema = mongoose.Schema({
collegeName : String,
courseName : String,
courseYear : String,
user : {
type: mongoose.Schema.Types.ObjectId,
ref : User
}
});
module.exports = mongoose.model('Student', studentSchema);
您确定在创建时将用户'_id'分配给学生吗? 你能告诉我你的创建方法吗? –
var newStudent = new Student(); newStudent.collegeName = req.body.collegeName; newStudent.courseName = req.body.courseName; newStudent.courseYear = req.body.courseYear; newStudent.user = req.user._id; – ankitbaid11326