2016-03-24 19 views
1

結果を返すコードがあります。通常の結果を受け取ったら、それをクライアントに送信し、それを純粋なJSONオブジェクトに変換します。クエリ結果セットを続ける(Hapijs)

しかし、今度はその結果セットでいくつかの操作を行い、次にデータベースで別の検索を行う必要があります。

私が理解していないのは、結果セットの構造です。どのように適切に反復するのですか?私はforループを使って値を手動で抽出することができましたが、それを行う方法ではないという気持ちがあります。

これは、結果を返すコードです:

models.Results.findAll({ 
      where: {ProjectId: projectId} 
     }) 
     .then(function (resultset) {    
      //How do I properly iterate over the resultset 
      for(p in resultset){ 

       var a = p; 
       var something; 

      } 


      reply(resultset).code(200); 
     }, function (rejectedPromiseError) { 
      reply(rejectedPromiseError).code(401); 
     }); 

画像は、デバッグモードでの結果を示しています。 enter image description here

+0

){//結果は、あなたが(dataValues、hasPrimaryKeys、など)を探しているプロパティを持つオブジェクトでなければなりません}); '。 – utamanna

答えて

5

model.findAllを使用すると、返されるresultsetの配列はmodel Instance objectsの配列になります。面白いもの(テーブルの実際の値)を取得したい場合は、plain: trueのオプションオブジェクトを渡して、を各項目に呼び出して呼び出すことができます。代わりに、 `in`ループのために、試す` resultset.forEach(機能(結果の

resultset.forEach((resultSetItem) => { 
    console.log(resultSetItem.get({ 
     plain: true 
    })); 
}); 
関連する問題