您如何去深入克隆MongoDB中的文檔(mongoid)帶有嵌入式關聯的深度克隆文檔
我試過類似的東西;
original = Car.find(old_id)
@car = original.clone
@car._id = BSON::ObjectId.new
但是,我得到的問題反序列化後的值。
如何使用_id以外的所有文檔屬性進行深度克隆?
編輯: 在遵循Zachary的例子之後,我得到了一些關於重複文檔的自定義序列化類的問題。
class OptionHash
include Mongoid::Fields::Serializable
# Convert the keys from Strings to Symbols
def deserialize(object)
object.symbolize_keys!
end
# Convert values into Booleans
def serialize(object)
object.each do |key, value|
object[key] = Boolean::MAPPINGS[value]
end
end
對象無複製文檔。 Car.find(old_id).attributes確實不包含具有自定義序列化的字段,爲什麼是這樣以及如何包含它?
你能對問題更具體嗎? – Barrie 2012-01-09 19:21:54
你以後有什麼問題? – 2012-01-09 23:29:40
我想問題是嵌入式文檔的ID不會更新。即與原始文檔中嵌入文檔的ID衝突。 – Yeggeps 2012-01-10 12:59:09