Node.js 续集返回未定义

Node.js 续集返回未定义,node.js,postgresql,express,sequelize.js,Node.js,Postgresql,Express,Sequelize.js,我将sequelize与Express js一起使用,它链接到postgresql数据库 我试图返回表vendors(列:vendor、category和id)中的所有vendors。我使用以下findall()函数来实现这一点: router.get('/', function(req, res, next) { models.vendors.findAll({attributes: ['vendor','category','id']}).then(function(vendors) {

我将sequelize与Express js一起使用,它链接到postgresql数据库

我试图返回表vendors(列:vendor、category和id)中的所有vendors。我使用以下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},
....
以下函数返回未定义的值,而不是预期的“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);

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

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

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