Sequelize范围允许用户在模型上定义可重用的查询。您可以定义 adefaultScope以及 name scopes。find我让这些为、update和工作findAll,但不为create.
来自文档:
.scope通过调用模型定义并传递一个或多个范围的名称来应用范围。.scope返回具有所有常规方法的功能齐全的模型实例:.findAll、.update、.count等.destroy。
是否可以将范围应用于该create方法,以便返回的实例仅限于某些属性?
小智 2
我也来这里寻找这个问题的答案,但在找到更合适的答案之前,我想分享我的解决方案(到目前为止尚未在生产中使用)。
好吧,我使用了afterCreate钩子而不是像scope这样:
afterCreate: (user, opts) => {
// Prevent from return password after create user
delete user.dataValues.password;
}
Run Code Online (Sandbox Code Playgroud)
我想立即指出,这不是一个经过验证的解决方案,但它可能作为一个有用的起点:)
PS.:续集6.12.4
| 归档时间: |
|
| 查看次数: |
1175 次 |
| 最近记录: |