我很困惑,希望你能帮助我。我正在使用express.js在node.js中构建一个应用程序,并为我的ORM创建sequelize。我用以下代码创建了一个模型:
"use strict";
module.exports = function(sequelize, DataTypes) {
var User = sequelize.define("User", {
username: DataTypes.STRING
});
return User;
};
我的路线如下:
router.get('/', function (req, res) {
models.User.findAll({ }).then(function(users) {
res.render('index', {
title: 'Project Insight',
users: users
});
});
})
我正在使用EJS作为我的模板:
<ul>
<% for(var i=0; i<users.length; i++) {%>
<li><%= users[i] %></li>
<% } %>
</ul>
我在观看中得到的输出是:
[object SequelizeInstance]
[object SequelizeInstance]
[object SequelizeInstance]
[object SequelizeInstance]
我希望能够从数据库中提取名称,而且我很困惑为什么会给出这个结果。如果您需要我的任何信息,请告诉我。我是所有这一切的新手,我处于停滞状态。提前谢谢你的帮助。
答案 0 :(得分:1)
尝试更改EJS模板:
<ul>
<% for(var i=0; i<users.length; i++) {%>
<li><%= users[i].username %></li>
<% } %>
</ul>
答案 1 :(得分:0)
可能对其他人有帮助:
model.findAll({where}).
.then(res => {
return res.map(row => {
return row.dataValues
});
})
这将返回如下所示的对象列表:
[
{
column1: value1,
column2: value2,
...
columnN: valueN
}
]