Node.jsとSequelize(Postgresバックエンドを使用)を使用してウェブサイトを構築しています。私は、外部キーを持つ多くのオブジェクトを返すクエリがあり、私はビューに、外部キーが参照するオブジェクトのリストを渡したいと思います。Sequelizeクエリを同期して実行する
この例では、AttendancesにはHackathonキーが含まれています。ハカトンのリストを返したいとします。コードは非同期なので、当然の以下のものは、ノードでは動作しません:
models.Attendance.findAll({
where: {
UserId: req.user.id
}
}).then(function (data) {
var hacks = [];
for (var d in data) {
models.Hackathon.findOne({
where: {
id: data[d].id
}
}).then(function (data1) {
hacks.append(data1);
});
}
res.render('dashboard/index.ejs', {title: 'My Hackathons', user: req.user, hacks: hacks});
});
は、同期の方法でそのクエリを行うにはどのような方法がありますが、私は私が持っているそれまではビューを返さないことを意味しますすべてのオブジェクトでいっぱいの "ハッキング"リスト?
ありがとうございます!
はあなたが滝と非同期モジュールを試してみましたか?それはあなたを助けることができます – abdulbarik
ループで1つのレコードを見つけることはどちらの方法でもひどいデザインです。 1つのクエリでなければなりません。 –