Mongoid: преобразовать встроенный документ в ссылочную/собственную коллекцию

Мне нужно преобразовать встроенный документ в его собственную коллекцию, чтобы на него можно было ссылаться из другой коллекции.

Предположим, у меня есть Родитель, который включает много Дочерних . Я думал об этом:

Parent.all.each do |p|
 p.childs.all.each do |c|
  c.raw_attributes['parent_id'] = p.id
 end
 p.save! #will save parent and cascade persist all childs onto their own coll
end

Это вариант? В идеале я бы запустил это в консоли и изменил бы сопоставления монгоидов только с embed_*на has_*, поэтому мне не нужно было бы менять остальную часть моего кода или использовать другой сборник как постановка.

8
задан Miguel Ping 16 March 2012 в 00:17
поделиться