javascript – 如何在Sequelize.js中撤消软删除

前端之家收集整理的这篇文章主要介绍了javascript – 如何在Sequelize.js中撤消软删除前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在我的node.js项目中以偏执模式使用Sequelize.js,而软删除在查找和删除数据时按预期工作,我很难找到取消删除删除行的方法.

我知道我可以使用docs中的解释来删除

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

但是偏执:updating时没有假.

是否可以在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

猜你在找的JavaScript相关文章