.removeFromCollection()
从指定集合中删除一个或多个成员(例如,评论)(例如,博客文章 #4 的 comments
)。
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
。如果它是复数,则每个子记录的集合将相应地修改。