在我的许多对象关联中,我引用了用户模型。如何在默认情况下或通过强制排除密码字段。
E.g。 Post.findOne().populate('author')...
将生成作者的加密密码......!
编辑1 - 我找到了1个解决方案:
http://adityamukho.com/blog/tags/sails-js/写入覆盖模型中的toJSON方法:
toJSON: function() {
var obj = this.toObject();
delete obj.password;
return obj;
},
答案 0 :(得分:3)
答案 1 :(得分:0)
更新后的水线文档链接:https://github.com/balderdashy/waterline-docs/blob/master/models/instance-class-methods.md#toobjecttojson。
链接Meeker发布了404's。
答案 2 :(得分:0)
对我来说,删除用户密码的文档化方式无效。
我不知道为什么,但这是我必须要做的事情:
attributes: {
// Other attributes ...
toJSON: function() {
var obj = this.toObject();
delete obj['password'];
return obj;
}
}
无论出于何种原因,这适用于我的机器和我部署到的服务器,但delete obj.password
没有。我认为这可能在将来为某人节省一些麻烦。