Node.js 续集返回未定义
我将sequelize与Express js一起使用,它链接到postgresql数据库 我试图返回表vendors(列:vendor、category和id)中的所有vendors。我使用以下findall()函数来实现这一点: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) {
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
}, {});