Mongomapper:将文档复制到新文档中

标签 mongomapper

我有一个带有嵌入文档的 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/

相关文章:

ruby-on-rails - 自动创建 rails locale yaml 文件?

mongodb - 使用 mongomapper、sunspot/solr 或 sphinx 高级搜索 mongodb?

unit-testing - Rspec : Testing MongoMapper query

ruby-on-rails - mongoid 中的 N+1 问题

ruby - Mongomapper 和 Sinatra 未定义方法 `update_attributes' 为 nil :NilClass

mongodb - 如何整理我的文件?

ruby-on-rails - MongoMapper -- 通过表单 : how to map "" => nil (instead of 0. 0) 更新 float ?

ruby - NameError:声明 mongomapper 文档模型时未初始化常量 ActiveModel::Serializers::Xml

ruby - 在 MongoMapper 中获取 EmbeddedDocument 的父文档 ID

ruby-on-rails - 将MongoMapper对象中的嵌套对象包含在JSON响应中