Я пытаюсь создать приложение для электронного обучения, и это мои схемы, но проблема прямо сейчас, когда я пытаюсь отображать пользовательские курсы в mongodb, и он показывает курсы, которые конкретный пользователь имеет.populate не работает для Mongoose всегда возвращает undefined
Данные в массиве
"courses" : [ "Learn how to be awesome", "Learn how to be a chef" ]
Два SCHEMAS
var UserSchema = Schema({
email: String,
password: String,
courses: [{ type: Schema.Types.String, ref: 'Course'}],
});
var CourseSchema = Schema({
title: String,
owners: [{ type: Schema.Types.ObjectId, ref: 'User'}],
body: String,
teacher: { type: Schema.Types.String, ref: 'User'},
});
routes.js - всякий раз, когда я пытаюсь заполнить объект обучения пользователя, он всегда возвращает неопределенное
router.get('/my-courses', isLoggedIn, function(req, res) {
User
.findById(req.user.id)
.populate('courses')
.exec(function(err, courses) {
console.log(courses); // always return undefined
res.render('course/student-courses', {
userCourses: courses
});
});
});
Он всегда возвращает undefined, хотя я уже добавил данные в поле курсов пользователя.
Populate работает только со значением '_id 'указанной модели, но похоже, что вы используете значение' title'. –