我有一个带有嵌入文档的 mongomapper 文档,我想复制它。
本质上,我想做的是这样的:
customer = Customer.find(params[:id])
new_customer = Customer.new
new_customer = customer
new_customer.save
所以我想最终得到两个不同的 mongomapper 文档,但内容相同。
任何想法应该如何做到这一点?
最佳答案
为此,您需要更改 _id
.文档相同 _id
假定是相同的文档,因此使用不同的 _id
保存文档将创建一个新文档。
customer = Customer.find(params[:id])
customer._id = BSON::ObjectId.new # Change _id to make a new record
# NOTE: customer will now persist as a new document like the new_document
# described in the question.
customer.save # Save the new object
顺便说一句,我倾向于存储旧的
_id
在新记录的某个地方,这样我就可以跟踪谁源自谁,但这不是必需的。
关于Mongomapper:将文档复制到新文档中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5242009/