续集返回undefined

问题描述 投票:0回答:1

我正在使用Express js的sequelize,它链接到postgresql数据库。

我试图返回表供应商中的所有供应商(列:供应商,类别和ID)。我使用以下findall()函数来实现这一点:

router.get('/', function(req, res, next) {
  models.vendors.findAll({attributes: ['vendor','category','id']}).then(function(vendors) {
    res.render('index', {
      title: 'Budget',
      vendors: vendors
    });
    console.log(vendors[0])
  });
});

console.log的输出如下

vendors {
   dataValues:
   { vendor: 'FIRSTVENDOR',
     category: null,
     id: 1},
....

以下函数返回undefined而不是预期的'FIRSTVENDOR'。

console.log(vendors[0].vendor) 

但是以下功能有效。

console.log(vendors[0].id)

我想我需要以某种方式声明变量类型?

为了创建数据库,我执行了以下操作:

CREATE TABLE vendors(id serial, vendor text primary key, category text default NULL, total float8);
node.js postgresql express sequelize.js
1个回答
0
投票

我在模型对象中输入了一个拼写错误。我换了

  const vendors = sequelize.define('vendors', {
    vendors: DataTypes.STRING
   }, {});

  const vendors = sequelize.define('vendors', {
    vendor: DataTypes.STRING,
    category: Datatypes.STRING
   }, {});
© www.soinside.com 2019 - 2024. All rights reserved.