.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()
を実行する必要があります。ただし、競合状態に陥るのを避けるために、最初に確認するよりも何かを試みる方が一般的に良い考えです。