【发布时间】:2017-04-16 16:28:14
【问题描述】:
我正在使用 Node.js 和 Express 与 Sequelize。我目前有一个用户模型定义为:
const Users = sequelize.define("Users", {
id: {
type: DataType.INTEGER,
primaryKey: true,
autoIncrement: true
},
username: {
type: DataType.STRING,
unique: true,
allowNull: false,
validate: {
notEmpty: true
}
},
email: {
type: DataType.STRING,
unique: true,
allowNull: false,
validate: {
notEmpty: true,
isEmail: true
}
},
password: {
type: DataType.STRING,
allowNull: false,
validate: {
notEmpty: true
}
}
}
现在要创建一个新用户,我使用以下代码块:
app.post("/register", (req, res, next) => {
Users.create(req.body)
.then(user => {
res.json({
status: "success",
data: user
});
})
.catch(err =>
next(err)
)
});
我得到以下结果:
{
"status": "success",
"data": {
"id": 6,
"username": "brightuser",
"email": "bright@user.com",
"password": "$2a$10$xfWi5QFoEs0sFRyLrDqa7e77A4JTYoX.J/N5rK0QJFR2bf0AtWJZe",
"updated_at": "2017-04-16T04:32:16.519Z",
"created_at": "2017-04-16T04:32:16.519Z"
}
}
我想限制向看到响应的客户端公开的数据。我只想显示如此创建的记录的用户名和电子邮件。如何在Users.create()函数中实现这样的事情?
【问题讨论】:
标签: javascript node.js sequelize.js