2016-08-26 12 views
0

idsのリストを使用して、データベース内の各要素のデータを取得し、その要素をリストに追加しようとしています。最後に、HTMLページに表示しています。どうすればいい?現在、クエリが非同期で実行されるため、クエリを実行してその結果をリストに追加するコードを実行した後、リストは空になります。MySQLデータベースからデータを取得してリストに追加する(NodeJS)

+1

Promise.allはおそらくあなたが探しているものですか? – jcaron

+0

使用しているフレームワークやデータベースとのインターフェースなど、コードがどのように見えるのかを理解できますか? –

答えて

1

あなたはidgamestotal_pointswins、およびlossesなどの列に、各チームの行が含まれていteamsと呼ばれるテーブルを持っていると仮定します。

チームidの配列があるとします。これらのレコードをデータベースに照会して、それらをフロントエンドにjsonとして返す前に、いくつかのことを行いたいとします。

これは私があなたの問題を理解する方法です。そうでない場合は、この回答のコメントに明記してください。

解決策: すべてを1つのクエリで実行します。私はお気に入りのmysqlライブラリknexjsを使用します。

var columns = ['id', 'games', 'total_points', 'wins', 'loses']; 

function getTeams(ids){ 
    return knex.select(columns).where('id', 'in', ids) 
    .then((teams) => { 
     //do whatever with array of teams 
     return teams; 
    } 
} 

これはかなり簡単です。

+0

WHEREステートメントを2つ以上実行できるとわかったとき、私は実際にそれをやりました。ありがとう! –

関連する問題