Apakah ada cara untuk menulis kueri delete / deleteAll seperti findAll?
Misalnya saya ingin melakukan sesuatu seperti ini (dengan asumsi MyModel adalah model Sequelize ...):
MyModel.deleteAll({ where: ['some_field != ?', something] })
.on('success', function() { /* ... */ });
javascript
node.js
sequelize.js
lakenen
sumber
sumber
Saya telah mencari jauh ke dalam kode, selangkah demi selangkah ke file berikut:
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
Apa yang kutemukan:
Tidak ada metode deleteAll, ada metode destruksi () yang bisa Anda panggil dalam rekaman, misalnya:
sumber
Tidak tahu apakah pertanyaannya masih relevan tetapi saya telah menemukan yang berikut di dokumentasi Sequelize.
http://sequelizejs.com/blog/state-of-v1-7-0
Semoga membantu!
sumber
where
(misalnya{someId: 123}
).Contoh ini menunjukkan bagaimana Anda menjanjikan alih-alih panggilan balik.
Lihat tautan ini untuk info lebih lanjut http://docs.sequelizejs.com/en/latest/api/model/#destroyoptions-promiseinteger
sumber
Dalam versi baru, Anda dapat mencoba sesuatu seperti ini
sumber
Berikut ES6 menggunakan contoh Await / Async:
Harap dicatat bahwa saya menggunakan
!!
Bang Bang Operator pada hasil menunggu yang akan mengubah hasilnya menjadi Boolean.sumber
Saya menulis sesuatu seperti ini untuk Sails beberapa waktu yang lalu, seandainya itu menghemat waktu Anda:
Contoh penggunaan:
Sumber:
dari: orm.js .
Semoga membantu!
sumber
sumber
Hapus semua, tanpa syarat:
sumber