У меня есть две схемы Student, User - где пользователь может быть классным преподавателем или другими назначенными лицами.Использование elemMatch для запроса вложенного условия в Mongoose
Student Schema
var StudentSchema = new Schema({
name : String,
.
.
.
owner: {
type: Schema.ObjectId,
ref: 'User'
}
})
Теперь я хочу, чтобы сгруппировать студентов для конкретного владельца. (ClassTeacher)
Я написал сервер апи маршрут -метод для этого.
get ==> localhost:3000/api/---/user/:userId/students
идентификатор пользователя является classTeacherid. = req.queryUserStudentsId
exports.getUserStudents=function(req,res){
Student
.find()
.select({
'owner': {
$elemMatch: {
_id: req.queryUserStudentsId
}
}
})
.populate('owner')
.exec(function(err, students) {
};
В результате всех студентов. Не только те, которые принадлежат данному владельцу.
Пожалуйста, дайте мне знать, где я ошибаюсь.
Спасибо.
find() говорит найти все документы. –