11

ActiveRecord 安全地支持 dup,但 mongoid 似乎无法正确处理它。

我想做以下事情:

x = MyModel.new
x.save
y = x.dup
y.save

并且 y 应该是一个全新的对象,这样:

x != y
x.id != y.id
4

1 回答 1

21

尝试这个:

x = Item.new
x.save
y = x.clone
y.save

它应该更改 _id 并复制所有其他字段。我注意到这似乎不适用于嵌入式文档。对于原始文档中的每个嵌入文档,它会在克隆中创建一个带有新 ID 的空白嵌入文档,但不会填充任何其他字段。

如果使用嵌入式文档,最好编写自己的类方法。

于 2012-08-21T23:12:04.777 回答