我在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