#node.js #express #mongoose #ejs
Вопрос:
Я использую этот код для вызова данных из MongoDB с помощью npm mongoose. Приложение основано на NodeJS, express и EJS.
router.get('/getdata' ,(req, res) => {
User.findOne({email: email2}).exec().then(user =>{
if (user) {
if (user.isEvent === "Yes"){
Event.find().populate("creator").exec().then(events =>{
console.log(events[7].creator.name);
res.render('viewfile', {
userinfo: req.userinfo,
events: events,
user
});
})
} else{
console.log(user.isEvent);
res.render('no-access', {
userinfo: req.userinfo,
user
});
}
} else {
res.render('noaccess', {
userinfo: req.userinfo,
user
});
}
})
})
console.log(events[7].creator.name);
показывает ожидаемый результат в терминале, но когда я использую это в EJS, он говорит, что имя не определено
<td><%= events[i].creator.name %></td>
Есть какие-нибудь советы о том, что я делаю не так?
Ответ №1:
неважно. Я все исправил. В массиве было несколько событий, которые не имели никакого значения в БД. Почистил его починил