Gibt es eine Möglichkeit, eine delete / deleteAll-Abfrage wie findAll zu schreiben?
Zum Beispiel möchte ich so etwas tun (vorausgesetzt, MyModel ist ein Sequelize-Modell ...):
MyModel.deleteAll({ where: ['some_field != ?', something] })
.on('success', function() { /* ... */ });
javascript
node.js
sequelize.js
lakenen
quelle
quelle
Ich habe tief im Code gesucht, Schritt für Schritt in die folgenden Dateien:
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
Was ich fand:
Es gibt keine deleteAll-Methode, sondern eine destroy () -Methode, die Sie für einen Datensatz aufrufen können, zum Beispiel:
quelle
Ich weiß nicht, ob die Frage noch relevant ist, aber ich habe Folgendes in der Dokumentation von Sequelize gefunden.
http://sequelizejs.com/blog/state-of-v1-7-0
Ich hoffe es hilft!
quelle
where
Objekt verwenden (z{someId: 123}
. B. ).Dieses Beispiel zeigt, wie Sie Versprechen statt Rückruf versprechen.
Weitere Informationen finden Sie unter diesem Link unter http://docs.sequelizejs.com/en/latest/api/model/#destroyoptions-promiseinteger
quelle
In der neuen Version können Sie so etwas ausprobieren
quelle
Hier ist ein ES6 mit Await / Async-Beispiel:
Bitte beachten Sie, dass ich den
!!
Bang Bang Operator für das Ergebnis des Wartens verwende, wodurch das Ergebnis in einen Booleschen Wert geändert wird.quelle
Ich habe vor einiger Zeit so etwas für Sails geschrieben, falls es Ihnen Zeit spart:
Anwendungsbeispiel:
Quelle:
von: orm.js .
Hoffentlich hilft das!
quelle
quelle
Alle löschen, keine Bedingungen:
quelle