我将 Sequelize 4.22.6 与 ExpressJS 一起使用。
我想隐藏密码以及其他字段,当我创建一个用户:
models.User.create({
firstName: 'Maxence',
lastName: 'Rose',
email: 'email@domain.tld',
password: 'azeaze',
}).then((result) => {
res.json(result.toJSON()); // I don't want return "password" field
});
我试过这个:Sequelize: don't return password&这Sequelize: Don't return password on Create
instanceMethods: {
toJSON: () => {
console.log("Console log here...");
}
}
但是,我的印象是 instanceMethods()方法未被调用。
我在 instanceMethods()中添加了 console.log()功能,我无法在控制台中看到此日志...
答案 0 :(得分:0)
之前我有同样的问题与续集。我曾经做过类似的事情:
您的models/user.js
文件:
module.exports = function(sequelize, DataTypes) {
const User = sequelize.define(
'user',
{
// your columns here
});
User.prototype.toJSON = function(){
console.log("Console log here...");
};
return User;
});
然后,您可以在创建的用户对象上调用实例方法。