如何在Sequelize.js中取消软删除

我在我的node.js项目中以偏执狂模式使用Sequelize.js,而软删除在查找和删除数据时按预期方式工作,但我无法find删除软删除行的方式。

我知道我可以通过使用文档中解释的删除行

Model.findAll({paranoid: false, where: {deletedAt: {ne: null}}}) 

但偏执: 更新时不可用。

在Sequelize中甚至可能删除软删除的行,或者我只是失去了一些东西?

你可以使用instance.setDataValue('deletedAt', null)

 var Bluebird = require('bluebird'); var models = require('./models'); models.sequelize.sync({ force: true }) .then(function () { return models.User.create({ name: 'user' }) }) .then(function (user) { return user.destroy() }) .then(function () { return models.sequelize.models.User.findAll({ paranoid: false }); }) .then(function (users) { var user = users[0]; user.setDataValue('deletedAt', null); return user.save({ paranoid: false }); }).then(function () { return models.sequelize.models.User.findAll(); }).then(function (users) { console.log(users[0]); }); 

请注意,这段代码使用Sequelize @ v2

使用{paranoid: false}选项获取对象,即。 var model = Model.findOne({ where: { something: 1 }, paranoid: false })然后恢复它model.restore() http://docs.sequelizejs.com/en/latest/api/instance/#restoreoptions -promiseundefined