2017-07-20 144 views
0

我試圖從db中獲取記錄。sequelize findAll()只返回一條記錄

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

而且我只有一條記錄,但db有一個以上的同名記錄。

然後我嘗試的findAll沒有PARAMS

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

,我和ID的一個記錄再次得到= 1

回答

1

您正在訪問數組的第一個值,使用found[0]。 這將是一個記錄。

此外,如果你只需要數據,而不是sequelize實例, 的您可以添加原始屬性

喜歡的東西

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

我有一個類似的問題。我爲我使用的屬性爲字符串值的不匹配數據植入了數據。可能不太可能是你的問題,但值得重複檢查。

定義的遷移文件

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

不過,我一直在尋找的 '完整的'。