У меня есть две схемы Учитель и ученик
StudentSchema = new mongoose.Schema({
email:{type:String, index: {unique:true}}
name:{type:String},
marks:[{
subject:{type:String,
marks:{type:Number}
}]
})
TeacherSchema = new mongoose.Schema({
email:{type:String, index: {unique:true}}
name:{type:String},
students:[{
email:{type:String},
registerationDate:{type:Date}
}]
})
У меня есть API, где я получаю идентификатор электронной почты учителя и должен отвечать отметками и именами учеников, зарегистрированных для этого конкретного учителя.
Для этого я использую этот код
var teacher = await Teacher.findOne({"email":req.body.email})
teacher.students.forEach(function(students){
let student = Student.findOne({"email":students.email})
console.log(student) // to watch the result
})
Я хочу получить полную схему Стьюдента в моей переменной ученика, чтобы я мог использовать данные учеников.
НоЯ не получаю желаемый результат, потому что я не могу ожидать пользователя вместе с Student.findOne.
Вот так
let student = await Student.findOne({"email":students.email})
В результате я получаю объект Query.
Может ли кто-нибудь предложить какой-либо способ использования await в цикле или любой другой способ получения желаемого результата?
Узел завершается сбоем, если я использую await где-нибудь внутри цикла, поэтому в другом месте решения нашли решение использовать async/ ожидание в цикле не решает мою проблему.