Я пытаюсь создать веб-страницу, где есть экземпляр всех текущих проектов, над которыми я работаю, слева, поэтому мне нужна функция .forEach (), чтобы просмотреть все из них вДля того, чтобы отобразить его, но с другой стороны, мне нужно отобразить информацию, которая в данный момент выбрана.
Пожалуйста, сначала взгляните на мой блок кода, чтобы я мог попытаться объяснить процесс мышления, стоящий за тем, что я пытался сделать.
Поэтому у меня не было проблем с выбором информации оединственный проект, который мне нужно было отобразить на этой веб-странице.Я использовал функцию .findOne (), чтобы выбрать нужную мне информацию.
Проблема, с которой я сталкиваюсь, заключается в том, что мне также нужно передать переменную, связанную с функцией .find (), чтобы пройти через все элементы базы данных.Я решил, что смогу определить определение allProjects, вручную запустив функцию .find (), а затем вернув ее, назначив Projects.find () для allProjects.
app.get('/projects/:url', (req, res) => {
Projects.findOne({ Url: req.params.url }, (err, foundProject) => {
if (err) {
console.log(err);
} else {
res.render('show', {
foundProject: foundProject,
allProjects: Projects.find({}, (err, allProjects) => {
if (err) {
res.send('error');
} else {
return allProjects;
}
})
});
}
});
});
Я подумал, что, вернув allProjects и затем присвоив его всем allProjects, я смогу использовать переменную allProjects на моей странице show.ejs.
К сожалению, я получаю сообщение об ошибке «allProjects.forEach () не определено», что приводит меня к мысли, что в app.js, где я определяю allProjects, ему не присваивается правильное значение, которое я хочуэто назначено.