ActiveRecord安全supports dup,但是mongoid似乎没有正确处理它。
我想做以下事情:
x = MyModel.new
x.save
y = x.dup
y.save
y应该是一个全新的对象:
x != y
x.id != y.id
答案 0 :(得分:18)
试试这个:
x = Item.new
x.save
y = x.clone
y.save
它应该更改_id并复制所有其他字段。我注意到这似乎不适用于嵌入式文档。对于原始中的每个嵌入式文档,它会在克隆中使用新ID创建一个空白的嵌入式文档,但不会填充任何其他字段。
如果使用嵌入式文档,最好编写自己的类方法。