如何取消 Mongoid 中的关系?
How do I unset a relation in Mongoid?
假设我有一个Mongoid模型,如下:
class Person
# stuff here
has_and_belongs_to_many :groups, :class_name => 'Group', :inverse_of => nil
end
我刚刚弃用了我的 Group 模型(完全摆脱了 class),现在我想从我的所有 Person 模型中取消设置该关系。
最合适的方法是什么?我知道 Mongoid 提供了一种取消设置字段的方法 (https://coderwall.com/p/wcx4pq/mongoid-remove-unnecessary-properties-from-documents),所以我想一定有一种方法可以对关系做同样的事情,这样 Person 就不再有 groups
或 group_ids
。
谢谢!
您只需像这样为每个人物对象取消设置 group_ids
:
Person.each { |person| person.unset(:group_ids) }
之后您可以删除群组集合。
假设我有一个Mongoid模型,如下:
class Person
# stuff here
has_and_belongs_to_many :groups, :class_name => 'Group', :inverse_of => nil
end
我刚刚弃用了我的 Group 模型(完全摆脱了 class),现在我想从我的所有 Person 模型中取消设置该关系。
最合适的方法是什么?我知道 Mongoid 提供了一种取消设置字段的方法 (https://coderwall.com/p/wcx4pq/mongoid-remove-unnecessary-properties-from-documents),所以我想一定有一种方法可以对关系做同样的事情,这样 Person 就不再有 groups
或 group_ids
。
谢谢!
您只需像这样为每个人物对象取消设置 group_ids
:
Person.each { |person| person.unset(:group_ids) }
之后您可以删除群组集合。