我正在尝试从 JSON 序列化用户模型中删除密码。

出于某种原因,我的 Controller 返回 res.json({user: myUser});正在返回完整的用户,包括密码。下面是我的用户模型。想法?

# models/User.js 
var User = { 
  attributes: { 
    username: 'string', 
    password: 'string' 
  }, 
 
  // Override toJSON method to remove password from API 
  toJSON: function() { 
    var obj = this.toObject(); 
    // BELOW NOT WORKING 
    delete obj.password; 
    return obj; 
  } 
}; 
module.exports = User; 

请您参考如下方法:

您正在添加 toJSON作为类方法(在 attributes 对象之外);它需要是一个实例方法:

# models/User.js 
var User = { 
  attributes: { 
    username: 'string', 
    password: 'string', 
 
    // Override toJSON method to remove password from API 
    toJSON: function() { 
      var obj = this.toObject(); 
      delete obj.password; 
      return obj; 
    } 
 
  } 
 
}; 
module.exports = User; 

这将添加 toJSON User 的每个实例的方法, 并且在做 res.json() 之类的事情时会按预期工作.


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!