私はNode.jsでスキーマを作成しようとしています。私は2つのスキーマを持っており、1つは "UserSchema"の参照を保持している、私はここに私のコードを追加して誰もこの問題を助けてください。私はあなたがあなたの人口文書は特定のフィールドのみを返すようにしたい場合は、「.populate( 『user.email』)」の部分Node.js Populateがコードで動作していません
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'をstudentに割り当ててもよろしいですか? createメソッドを表示できますか? –
var newStudent =新しいStudent(); newStudent.collegeName = req.body.collegeName; newStudent.courseName = req.body.courseName; newStudent.courseYear = req.body.courseYear; newStudent.user = req.user._id; – ankitbaid11326