Json Sails.js用户模型不删除密码

Json Sails.js用户模型不删除密码,json,sails.js,Json,Sails.js,我正在尝试从JSON序列化用户模型中删除密码 出于某种原因,我的控制器返回res.json({user:myUser})正在返回包含密码的完整用户。下面是我的用户模型。想法 # models/User.js var User = { attributes: { username: 'string', password: 'string' }, // Override toJSON method to remove password from API toJSON

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

出于某种原因,我的控制器返回
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;

您正在将
添加到json
作为类方法(在
属性
对象之外);它需要是一个实例方法:


这将把
toJSON
方法添加到
User
的每个实例中,并且在执行
res.json()

之类的操作时,如果您中的任何人在过去的两个小时内都在寻找这个方法,那么它将按照您的预期工作。。。如果你正在使用Passport,不要忘记清除密码和AccessToken(除非你的应用程序中需要它们…),只希望它能帮助别人节省时间

var User = {
    attributes: { 
    ...
    toJSON: function () {
        var obj = this.toObject();
        delete obj.password;
        delete obj.accessToken;
        if (obj.passports) {
            for (var i = 0; i< obj.passports.length; i++) {
                delete obj.passports[i].password;
                delete obj.passports[i].accessToken;
            }
        }
        return obj;
    }
}
var用户={
属性:{
...
toJSON:function(){
var obj=this.toObject();
删除obj.password;
删除obj.accessToken;
国际单项体育联合会(obj护照){
对于(变量i=0;i
请说明如何调用您的模型这是解决方案。供参考,以下是文档中的信息:这是工作url这也不再受支持。您可以在此处找到新方法
var User = {
    attributes: { 
    ...
    toJSON: function () {
        var obj = this.toObject();
        delete obj.password;
        delete obj.accessToken;
        if (obj.passports) {
            for (var i = 0; i< obj.passports.length; i++) {
                delete obj.passports[i].password;
                delete obj.passports[i].accessToken;
            }
        }
        return obj;
    }
}