在sequelize.js上查询"偏执狂"表时如何包含已删除的元素?

ali*_*oig 21 javascript sequelize.js

我希望我的应用程序中以前存在的用户已经使用偏执模式删除(现在它的字段deletedAt为NOT null),以便能够使用相同的电子邮件再次注册.因此,当API通过先前使用的电子邮件注意到用户创建时,它将设置到先前存在的寄存器nulldeletedAt字段而不是创建新用户.

通常为了寻找我会做的用户,

User.find( { where: { email: req.body.user.email } })

但是在检查创建的SQL查询时,它包括

Users.deletedAt IS NULL

处理偏执模型时是否有任何特殊的寻找方式?

lao*_*lao 34

只需像这样运行您的查询:

User.find({
  where: {email: req.body.user.email}, 
  paranoid: false
})
Run Code Online (Sandbox Code Playgroud)


rud*_*udd 11

Sequelize内置了此功能.根据他们的API文档,您可以在查找调用的选项中包含"偏执"标志.

例如

User.find({where: {email: req.body.user.email}}, {paranoid: false}).success(models) {
    //models contains both deleted and non-deleted users
}
Run Code Online (Sandbox Code Playgroud)

参考:http://docs.sequelizejs.com/en/latest/api/model/#findalloptions-promisearrayinstance