.removeFromCollection()
從指定的集合中移除一個或多個成員 (例如:評論),(例如:BlogPost #4 的 comments
)。
await Something.removeFromCollection(parentId, association)
.members(childIds);
參數 | 類型 | 詳細資訊 | |
---|---|---|---|
1 | parentId | 父記錄的主鍵值 (即 ids)。 必須為數字或字串 (例如: '507f191e810c19729de860ea' 或 49 )。或者,可以指定數字或字串陣列 (例如: ['507f191e810c19729de860ea', '14832ace0c179de897'] 或 [49, 32, 37] )。在這種情況下,所有 子記錄將從每個父記錄的相應集合中移除。 |
|
2 | association | 複數 ("集合") 關聯的名稱 (例如:"pets") | |
3 | childIds | 要移除的子記錄的主鍵值 (即 ids)。請注意,這不會銷毀這些記錄,它只是將它們從指定的父項中分離。 |
名稱 | 類型 | 何時? |
---|---|---|
UsageError | 當傳入無效的內容時拋出。 | |
AdapterError | 當資料庫配接器發生錯誤時拋出。 | |
Error | 當發生任何其他非預期的情況時拋出。 |
請參閱 概念 > 模型與 ORM > 錯誤 以取得在 Sails 和 Waterline 中處理錯誤的範例。
對於使用者 3,從 "pets" 集合中移除寵物 99 和 98
await User.removeFromCollection(3, 'pets')
.members([99,98]);
- 此方法可以與
await
、promise 鏈式調用或 傳統 Node 回呼 一起使用。- 如果關聯是 "雙向" 的 (表示它具有
via
),則子記錄將相應地被修改。如果另一側 (例如 "Pet") 的屬性是單數,則每個子記錄的外鍵 ("owner") 將被設定為null
。如果是複數,則每個子記錄的集合將相應地被修改。