Come si va sulla profonda clonazione documento MongoDB (mongoid)documento clone profonda con le associazioni incorporati
Ho provato qualcosa di simile;
original = Car.find(old_id)
@car = original.clone
@car._id = BSON::ObjectId.new
Ma ho problemi di deserializzazione dei valori in seguito.
Come posso creare un clone profondo con tutti gli attributi dei documenti tranne _id?
Modifica: Dopo aver seguito l'esempio di Zachary, ho riscontrato alcuni problemi con una classe di serializzazione personalizzata per i documenti duplicati.
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
L'oggetto è nullo per i documenti duplicati. Car.find (old_id) .attributes infatti non include il campo con la serializzazione personalizzata, perché è e come posso includerlo?
puoi essere più specifico sui problemi? – Barrie
Quali problemi hai in seguito? –
Immagino che il problema sia che gli ID del documento incorporato non vengono aggiornati. Io sono in conflitto con gli ID dei documenti incorporati nel documento originale. – Yeggeps