如何从find*
中删除某些模型字段(如密码,令牌)?
我认为覆盖toJSON()
函数(比如这里https://stackoverflow.com/a/27979695/6119618)不是一个好方法,因为我有时需要这个字段用于密码验证或令牌用于检查等。
像猫鼬一样有.select('+token')
之类的东西吗?
另一个问题我认为这适合这个话题。
如何从through
输出中删除由find*
字段生成的内容?
当我致电User.find()
时,它会回复{ id: 0, name: 'somename', UserProjectsTie: { /* complex object of many-to-many relation table */ } }
答案 0 :(得分:0)
从find *:
中排除属性"F2"
要将此设置为默认行为,请使用scope:
Model.findAll({
attributes: { exclude: ['baz'] }
});
除非我误解了'通过'应该只在使用' include'时显示。在这种情况下摆脱:
const Model = sequelize.define('Model', {
// Attributes
}, {
defaultScope: {
attributes: { exclude: ['baz'] }
}
});