.destroy()
銷毀資料庫中符合指定條件的記錄。
await Something.destroy(criteria);
或
var destroyedRecords = await Something.destroy(criteria).fetch();
參數 | 類型 | 詳細資訊 | |
---|---|---|---|
1 | criteria | 符合此Waterline 條件的記錄將會被銷毀。請注意,如果您指定一個空的字典 ({} ) 作為您的條件,所有記錄都將被銷毀! destroy 查詢不支援使用 skip 和 limit 進行分頁,或使用 select 進行投影。 |
類型 | 描述 |
---|---|
為了最佳化效能,預設情況下不會提供銷毀的記錄作為結果。若要覆寫預設設定,請鏈式調用 .fetch() ,新銷毀的記錄將會被傳回。(請注意,這在某些适配器中需要額外的資料庫查詢。) |
名稱 | 類型 | 何時? |
---|---|---|
UsageError | 如果傳入無效的內容,則拋出此錯誤。 | |
AdapterError | 如果資料庫适配器中發生錯誤,則拋出此錯誤。 | |
Error | 如果發生任何其他非預期的情況,則拋出此錯誤。 |
請參閱 概念 > 模型與 ORM > 錯誤 以取得在 Sails 和 Waterline 中處理錯誤的範例。
鍵 | 類型 | 詳細資訊 |
---|---|---|
fetch | 若設定為 true ,則將傳回銷毀記錄的陣列。預設為 false 。 |
有關 meta 鍵的更多資訊,請參閱 .meta()。
刪除資料庫中所有名為 Finn 的使用者
await User.destroy({name:'Finn'});
sails.log('Any users named Finn have now been deleted, if there were any.');
刪除兩個特定的問題使用者
await User.destroy({
id: { in: [ 3, 97 ] }
});
sails.log('The records for troublesome users (3 and 97) have been deleted, if they still existed.');
若要刪除特定書籍並獲取銷毀的記錄,請使用 .destroyOne()。
若要刪除多本書籍並獲取所有銷毀的記錄
var burnedBooks = await Book.destroy({
controversiality: { '>': 0.9 }
}).fetch();
sails.log('Deleted books:', burnedBooks);
- 此方法可以與
await
、promise 鏈或 傳統 Node 回呼 一起使用。- 如果您想在銷毀記錄之前確認一個或多個記錄存在,您應該先執行
find()
。但是,通常最好嘗試去做事情,而不是先檢查,以免最終遇到 競爭條件。