Existe uma maneira de escrever uma consulta delete / deleteAll como findAll?
Por exemplo, eu quero fazer algo assim (assumindo que MyModel é um modelo Sequelize ...):
MyModel.deleteAll({ where: ['some_field != ?', something] })
.on('success', function() { /* ... */ });
javascript
node.js
sequelize.js
Lakenen
fonte
fonte
Pesquisei profundamente no código, passo a passo, nos seguintes arquivos:
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
O que eu encontrei:
Não há um método deleteAll, há um método destroy () que você pode chamar em um registro, por exemplo:
fonte
Não sei se a questão ainda é relevante, mas eu encontrei o seguinte na documentação do Sequelize.
http://sequelizejs.com/blog/state-of-v1-7-0
Espero que ajude!
fonte
where
objeto (por exemplo{someId: 123}
).Este exemplo mostra como fazer promessas em vez de callback.
Verifique este link para obter mais informações http://docs.sequelizejs.com/en/latest/api/model/#destroyoptions-promiseinteger
fonte
Na nova versão, você pode tentar algo assim
fonte
Aqui está um ES6 usando um exemplo Await / Async:
Observe que estou usando o
!!
Bang Bang Operator no resultado do await, que mudará o resultado para um booleano.fonte
Escrevi algo assim para o Sails há algum tempo, caso você economize algum tempo:
Exemplo de uso:
Fonte:
de: orm.js .
Espero que ajude!
fonte
fonte
Excluir tudo, sem condições:
fonte