Мангустские ошибки по заселению - PullRequest
0 голосов
/ 26 мая 2018

У меня есть две коллекции, которые имеют отношение друг к другу.Один сеанс может содержать несколько студентов, которые я хочу получить с помощью populate ().Вот схемы:

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".

Может кто-нибудьскажи что я делаю не так?

1 Ответ

0 голосов
/ 26 мая 2018

Видимо, изменив параметр populate (), он заработал:

.populate({path: 'students', model: Student})
...