Я новичок в Node Js и связанных с ним программах. В настоящее время вы пытаетесь создать приложение, которое загружает изображения с титрами и т. Д., И пользователям нравится и комментировать (более похоже на instagram/facebook). Пока мое приложение работает, но теперь застряло в точке, когда я пытаюсь вытащить несколько значений из нескольких таблиц, передавая значения как объекты в массиве и визуализируя их в новом EJS-файле. Ниже приведен кодSequelize Вытягивание данных из нескольких таблиц и передача как объектов для рендеринга в EJS
app.get('/pages/photos/:id', function (req, res){
//show photos with comments
//1. photo with id :id
// 2. all comments associated with id :id
//likes associated with photo
var photoId=req.params.id;
var photoData = []
Photos.findOne({
where:{id: photoId},
attributes: ['userId','filename', 'caption', 'createdAt']
}).then(function (rowPhoto){
photoData.photoValues = []
var vals = {
photoId:photoId,
userId:rowPhoto.userId,
photoName: rowPhoto.filename,
caption:rowPhoto.caption,
createdAt:rowPhoto.createdAt
}
photoData.photoValues.push(vals);
console.log("#1 "+ rowPhoto.caption);
}).then(function(){
Comments.findAll(
{where:
{photoId:photoId}
}).then(function(rowComments){
photoData.photoComments= []
for (i=0; i < rowComments.length ; i++){
vals = {
id: rowComments[i].id,
userId: rowComments[i].userId,
text:rowComments[i].comment,
createdAt:rowComments[i].createdAt
}
photoData.photoComments.push(vals);
}
console.log("#2 "+ rowComments.length);
});
}).then(function(){
Likes.findAll({
where:{photoId:photoId}
}).then(function(rowLikes){
photoData.photoLikes= []
for (i=0; i < rowLikes.length ; i++){
vals = {
id: rowLikes[i].id,
liked: rowLikes[i].liked,
userId:rowLikes[i].userId,
photoId:rowLikes[i].photoId
}
photoData.photoLikes.push(vals);
}
console.log("#3 " + rowLikes[i]);
});
});
console.log("#4 " + photoData);
//res.render('views', {views:photoData});
});
есть ли более простой способ обойти это? Тем не менее, я еще не коснулся Миграции.
так после нескольких попыток и больше исследований решения осенило, благодаря ответу от [ссылки] (http://stackoverflow.com/questions/ 33970624/выполнение запроса-множественная-модель-с-sequelize-JS-ORM) – Prince