有没有一种方法可以像findAll一样写一个delete/delete a查询?
例如,我想做这样的事情(假设MyModel是一个顺序化模型...):
MyModel.deleteAll({ where: ['some_field != ?', something] })
.on('success', function() { /* ... */ });发布于 2015-11-12 05:52:47
对于使用Sequelize版本3和更高版本的任何人,请使用:
Model.destroy({
where: {
// criteria
}
})Sequelize Documentation - Sequelize Tutorial
发布于 2011-12-07 00:17:34
我对代码进行了深入的搜索,一步一步地搜索了以下文件:
https://github.com/sdepold/sequelize/blob/master/test/Model/destroy.js
https://github.com/sdepold/sequelize/blob/master/lib/model.js#L140
https://github.com/sdepold/sequelize/blob/master/lib/query-interface.js#L207-217
https://github.com/sdepold/sequelize/blob/master/lib/connectors/mysql/query-generator.js
我发现:
没有销毁方法,您可以在记录上调用deleteAll ()方法,例如:
Project.find(123).on('success', function(project) {
project.destroy().on('success', function(u) {
if (u && u.deletedAt) {
// successfully deleted the project
}
})
})发布于 2014-01-30 17:29:55
不知道这个问题是否仍然相关,但我在Sequelize的文档中找到了以下内容。
User.destroy('`name` LIKE "J%"').success(function() {
// We just deleted all rows that have a name starting with "J"
})http://sequelizejs.com/blog/state-of-v1-7-0
希望它能帮上忙!
https://stackoverflow.com/questions/8402597
复制相似问题