填充上的Mongoose错误
我有两个相互关联的收藏。一个会话可以包含多个学生,我希望通过使用populate()检索这些学生。这些是架构的:填充上的Mongoose错误,mongoose,mongoose-populate,Mongoose,Mongoose Populate,我有两个相互关联的收藏。一个会话可以包含多个学生,我希望通过使用populate()检索这些学生。这些是架构的: const studentSchema = new Schema({ first_name: String, last_name: String }) const sessionSchema = new Schema({ course_code: String, students: [{ type: Schema.Types.ObjectId, r
const studentSchema = new Schema({
first_name: String,
last_name: String
})
const sessionSchema = new Schema({
course_code: String,
students: [{ type: Schema.Types.ObjectId, ref: 'Student' }]
})
const Session = mongoose.model('sessions', sessionSchema)
const Student = mongoose.model('students', studentSchema)
每当我在会话或学生中使用findOne()时,它都会提供所需的输出。但是,当我像这样使用populate()时,它会给我一个错误:
Session
.findOne({'course_code': '5072NEAN6Y'})
.populate("students")
.exec(function (err, ps){
if(err){
console.log(err);
return;
}
console.log("succes");
});
错误:
MissingSchemaError:尚未为模型“Student”注册架构
有人能告诉我我做错了什么吗?显然,更改populate()的参数使其工作:
.populate({path: 'students', model: Student})
是否在使用模式的文件中添加了require()?模式与populate()位于同一文件中,因此我不需要模型,对吗?