如何取消Mongoid中的关系?

时间:2015-04-19 23:21:28

标签: ruby mongoid

假设我有一个Mongoid模型,如下所示:

class Person
  # stuff here
  has_and_belongs_to_many :groups, :class_name => 'Group', :inverse_of => nil
end

我刚刚弃用了我的Group模型(完全摆脱了那个类),现在我想从我所有的Person模型中取消该关系。

最合适的方法是什么?我知道Mongoid提供了一种取消设置字段(https://coderwall.com/p/wcx4pq/mongoid-remove-unnecessary-properties-from-documents)的方法,所以我想必须有一种方法可以对关系做同样的事情,这样Person就不再有groupsgroup_ids了。

谢谢!

1 个答案:

答案 0 :(得分:1)

您只需要为每个人对象取消设置group_ids,如下所示:

Person.each { |person| person.unset(:group_ids) }

之后,您可以删除群组集合。