我正在将sequelize与Express js一起使用,并将其链接到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);
答案 0 :(得分:0)
我在模型对象中有一个错字。我替换了
const vendors = sequelize.define('vendors', {
vendors: DataTypes.STRING
}, {});
使用
const vendors = sequelize.define('vendors', {
vendor: DataTypes.STRING,
category: Datatypes.STRING
}, {});