如何取消 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 就不再有 groupsgroup_ids

谢谢!

您只需像这样为每个人物对象取消设置 group_ids

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

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