Есть ли способ написать запрос delete / deleteAll, например findAll?
Например, я хочу сделать что-то вроде этого (при условии, что MyModel - это модель Sequelize ...):
MyModel.deleteAll({ where: ['some_field != ?', something] })
.on('success', function() { /* ... */ });
javascript
node.js
sequelize.js
Lakenen
источник
источник
Я углубился в код, шаг за шагом изучая следующие файлы:
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, есть метод destroy (), который вы можете вызвать для записи, например:
источник
Не знаю, актуален ли вопрос, но я нашел следующее в документации Sequelize.
http://sequelizejs.com/blog/state-of-v1-7-0
Надеюсь, поможет!
источник
where
объект (например{someId: 123}
).В этом примере показано, как использовать обещания вместо обратного вызова.
Проверьте эту ссылку для получения дополнительной информации http://docs.sequelizejs.com/en/latest/api/model/#destroyoptions-promiseinteger
источник
В новой версии вы можете попробовать что-то вроде этого
источник
Вот пример ES6 с использованием Await / Async:
Обратите внимание, что я использую
!!
оператор Bang Bang для результата ожидания, который изменит результат на логическое значение.источник
Некоторое время назад я написал что-то подобное для Sails, на случай, если это сэкономит вам время:
Пример использования:
Источник:
от: orm.js .
Надеюсь, это поможет!
источник
источник
Удалить все, без условий:
источник