【问题标题】:Sequelize - Don't return password with JSON responseSequelize - 不要使用 JSON 响应返回密码
【发布时间】:2018-04-23 21:45:20
【问题描述】:

我使用 Sequelize 4.22.6ExpressJS

想在创建用户时隐藏密码和其他字段:

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() 函数,我在控制台中看不到这个日志...

【问题讨论】:

    标签: json express sequelize.js


    【解决方案1】:

    我在续集之前也遇到过同样的问题。我解决了类似的问题:

    您的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;
    });
    

    然后您可以在创建的用户对象上调用实例方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多