【发布时间】:2021-03-12 13:23:52
【问题描述】:
大家下午好。我有一个包含用户秘密信息的数据库。我想在使用 findOne() 时禁用返回“密码”列。如何在不从响应对象中删除它的情况下做到这一点?
【问题讨论】:
标签: javascript sequelize.js sequelize-cli
大家下午好。我有一个包含用户秘密信息的数据库。我想在使用 findOne() 时禁用返回“密码”列。如何在不从响应对象中删除它的情况下做到这一点?
【问题讨论】:
标签: javascript sequelize.js sequelize-cli
如果要返回除一个以外的所有字段,可以使用exclude 属性,如下所示:
myTable.findOne({
attributes: {exclude: ['password']},
where: { id: userId }
})
【讨论】:
您可以在定义架构时使用 toJson
它允许您像这样编辑返回的架构
sequelize.define('user', attributes, {
instanceMethods: {
toJSON: function () {
const values = Object.assign({}, this.get());
delete values.password;
return values;
}
}
});
【讨论】: