Json Sails.js用户模型不删除密码
我正在尝试从JSON序列化用户模型中删除密码 出于某种原因,我的控制器返回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
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;
}
}