2017-07-20 8 views
0

私はdbからレコードを取得しようとしています。sequelize findAll()はレコードを1つだけ返します

db.relations.findAll({where: {organisation: orgName}}) 
     .then(found => { 
      console.log('Found relations by name: ', found[0].dataValues); 
     }) 
     .catch(error => { 
      console.log('Error: ', error); 
     }); 

私はレコードを1つだけ取得しますが、dbには同じ名前のレコードが2つ以上あります。

それから私はのparams

db.relations.findAll() 
     .then(found => { 
      console.log('Found relations by name: ', found[0].dataValues); 
     }) 
     .catch(error => { 
      console.log('Error: ', error); 
     }); 

なしのfindAllを試してみて、私はあなたがfound[0]を使用して、配列の最初の値にアクセスしている再び= 1

答えて

1

idを持つ一つのレコードを取得します。 1つのレコードになります。また

あなただけのデータではなくsequelizeインスタンスが必要な場合は、 ザ・あなたは、私は同様の問題があった

Model.findAll({where: {your clause}, raw: true} 
0

よう

何かが生のプロパティを追加することができます。私は使用していた属性の文字列値の不一致でデータをシードしました。おそらくあなたの問題ではないかもしれませんが、二重チェックの価値があります。

移行ファイルに定義され

status: { 
    type: Sequelize.STRING, 
    defaultValue: 'DRAFT', 
    values: ['ACTIVE', 'ARCHIVED', 'DRAFT'] 
} 

しかし、私は 'COMPLETE' を探していました。

関連する問題