Sequelize 默认排除

Posted

技术标签:

【中文标题】Sequelize 默认排除【英文标题】:Sequelize Default Exclude 【发布时间】:2018-04-11 18:39:01 【问题描述】:

我有一个名为 person 的表,我希望默认排除一列,

const Person = sequelize.define('person',
  secretColumn: Sequelize.STRING,
  //... and other columns
);

我看到 Sequelize 中有一个名为Scope 的功能: http://docs.sequelizejs.com/manual/tutorial/scopes.html

我试图这样排除;

const Person = sequelize.define('person',
  secretColumn: Sequelize.STRING,
  //... and other columns
, 
  defaultScope: 
    exclude: ['secretColumn']
  
);

但这不起作用。有没有其他方法可以默认排除一列?

【问题讨论】:

【参考方案1】:

我想通了。 exclude 需要在 attributes 部分:

const Person = sequelize.define('person',
  secretColumn: Sequelize.STRING,
  //... and other columns
, 
  defaultScope: 
    attributes:  exclude: ['secretColumn'] 
  
);

【讨论】:

不知道为什么,但这对我不起作用。这样做可以吗? defaultScope: 属性: exclude: ['token', 'access', 'password']

以上是关于Sequelize 默认排除的主要内容,如果未能解决你的问题,请参考以下文章

如何从sequelize中的实例中排除关联属于多?

Sequelize 默认方法 findOne bug

在 Sequelize.js 中为多对多关系添加默认角色

是否可以在 Sequelize 迁移中定义默认值?

node.js后端之sequelize

了解 Sequelize 中的关联