1

我有 2Mongoid节课:

class LiveCustomer < Customer
  include Mongoid::Document

  field :mail_address, type: String
  has_many :live_emails, :inverse_of => :live_customer
end

class LiveEmail < Email
  include Mongoid::Document 

  field :mail_address, type: String
  belongs_to :live_customer, :inverse_of => :live_emails
end

然后我有课SimCustomerSimEmail看起来完全一样。

我现在想复制 to 的所有对象LiveCustomerSimCustomer并且我想复制 to 的所有LiveEmail对象SimEmail。但是我该如何维持这种关系呢?

因为这个实现只会复制对象,而不是关系:

LiveEmail.all.each do |live_email|
  SimEmail.create(live_email.attributes)
end

LiveCustomer.all.each do |live_customer|
  SimCustomer.create(live_customer.attributes)
end
4

1 回答 1

0

由于您想要将文档的完整副本复制到另一个集合,包括 ID 和 FK,我要做的是获取原始文档,并使用 Moped(驱动程序)插入新集合。像这样的东西:

LiveEmail.all.each do |live_email|
  SimEmail.collection.insert(live_email.as_document)
end
于 2013-10-16T13:58:06.900 回答