.destroy()指定された条件に一致するデータベース内のレコードを削除します。
await Something.destroy(criteria);
または
var destroyedRecords = await Something.destroy(criteria).fetch();| 引数 | 型 | 詳細 | |
|---|---|---|---|
| 1 | criteria | このWaterlineの条件に一致するレコードが削除されます。空の辞書 ({}) を条件として指定すると、すべてのレコードが削除されることに注意してください! destroyクエリは、skipとlimitを使用したページネーション、またはselectを使用したプロジェクションをサポートしていません。 |
| 型 | 説明 |
|---|---|
パフォーマンスを最適化するために、削除されたレコードはデフォルトでは結果として提供されません。デフォルト設定を上書きするには、.fetch()をチェーンすると、新しく削除されたレコードが返送されます(一部のアダプタでは、これには追加のデータベースクエリが必要となることに注意してください)。 |
| 名前 | 型 | いつ? |
|---|---|---|
| UsageError | 無効なものが渡された場合にスローされます。 | |
| AdapterError | データベースアダプタで問題が発生した場合にスローされます。 | |
| Error | 予期しないことが発生した場合にスローされます。 |
SailsとWaterlineでのエラー処理の例については、コンセプト > モデルとORM > エラーを参照してください。
| キー | 型 | 詳細 |
|---|---|---|
| fetch | trueに設定すると、削除されたレコードの配列が返送されます。デフォルトは falseです。 |
メタキーの詳細については、.meta()を参照してください。
データベースからFinnという名前のユーザーを削除するには
await User.destroy({name:'Finn'});
sails.log('Any users named Finn have now been deleted, if there were any.');
問題を起こしている特定の2人のユーザーを削除するには
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、プロミスチェーン、または従来のNodeコールバックで使用できます。- 削除する前に1つ以上のレコードが存在することを確認したい場合は、最初に
find()を実行する必要があります。ただし、競合状態に陥るのを避けるために、最初に確認するよりも何かを試みる方が一般的に良い考えです。