.removeFromCollection()
指定されたコレクション(例:BlogPost #4のcomments
)から、1つまたは複数のメンバー(例:コメント)を削除します。
await Something.removeFromCollection(parentId, association)
.members(childIds);
引数 | 型 | 詳細 | |
---|---|---|---|
1 | parentId | 親レコードの主キー値(つまりID)。 数値または文字列である必要があります(例: '507f191e810c19729de860ea' または49 )。あるいは、数値または文字列の配列を指定することもできます(例: ['507f191e810c19729de860ea', '14832ace0c179de897'] または[49, 32, 37] )。この場合、すべての子レコードが、各親レコードの適切なコレクションから削除されます。 |
|
2 | association | 複数形の(「コレクション」)関連の名前(例:「pets」)。 | |
3 | childIds | 削除する子レコードの主キー値(つまりID)。これはこれらのレコードを破棄するのではなく、指定された親からそれらを切り離すだけであることに注意してください。 |
名前 | 型 | いつ? |
---|---|---|
UsageError | 無効なものが渡された場合にスローされます。 | |
AdapterError | データベースアダプターで問題が発生した場合にスローされます。 | |
Error | 予期しない何かが発生した場合にスローされます。 |
SailsおよびWaterlineでのエラー処理の例については、コンセプト > モデルとORM > エラーを参照してください。
ユーザー3について、「pets」コレクションからペット99と98を削除します。
await User.removeFromCollection(3, 'pets')
.members([99,98]);
- このメソッドは、
await
、Promiseチェーン、または従来のNodeコールバックで使用できます。- 関連が「双方向」(つまり
via
を持っている)の場合、子レコードはそれに応じて変更されます。反対側(例:「Pet」)の属性が単数の場合、各子レコードの外部キー(「owner」)はnull
に設定されます。それが複数の場合、各子レコードのコレクションはそれに応じて変更されます。