Existe-t-il un moyen d'écrire une requête delete / deleteAll comme findAll?
Par exemple, je veux faire quelque chose comme ça (en supposant que MyModel est un modèle Sequelize ...):
MyModel.deleteAll({ where: ['some_field != ?', something] })
.on('success', function() { /* ... */ });
javascript
node.js
sequelize.js
Lakenen
la source
la source
J'ai cherché profondément dans le code, étape par étape dans les fichiers suivants:
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
Ce que j'ai trouvé:
Il n'y a pas de méthode deleteAll, il y a une méthode destroy () que vous pouvez appeler sur un enregistrement, par exemple:
la source
Je ne sais pas si la question est toujours pertinente mais j'ai trouvé ce qui suit sur la documentation de Sequelize.
http://sequelizejs.com/blog/state-of-v1-7-0
J'espère que ça aide!
la source
where
objet (par exemple{someId: 123}
).Cet exemple montre comment vous des promesses au lieu d'un rappel.
Consultez ce lien pour plus d'informations http://docs.sequelizejs.com/en/latest/api/model/#destroyoptions-promiseinteger
la source
Dans la nouvelle version, vous pouvez essayer quelque chose comme ça
la source
Voici un exemple ES6 utilisant Await / Async:
Veuillez noter que j'utilise l'
!!
opérateur Bang Bang sur le résultat de l'attente qui changera le résultat en booléen.la source
J'ai écrit quelque chose comme ça pour Sails il y a quelque temps, au cas où cela vous ferait gagner du temps:
Exemple d'utilisation:
La source:
de: orm.js .
J'espère que cela pourra aider!
la source
la source
Supprimer tout, pas de conditions:
la source