Módulo: Mongoid::Copyable

Ampliado por:
ActiveSupport::Preocupación
Incluido en:
Componible
Definido en:
lib/mongoid/copiable.rb

Overview

Este módulo contiene el comportamiento del clon/duplicado de documentos de Mongoid.

Colapso del resumen del método de instancia

Detalles del método de instancia

#cloneDocumento También conocido como: dup

Clonar o duplicar el Document actual. Esto devolverá todos los atributos, excepto el ID del documento, y restablecerá todas las variables de instancia.

Este clon también incluye documentos incrustados. Si el documento incrustado contiene un campo _id, este se conservará, a diferencia del _id de la raíz.

Si se clona un elemento secundario incorporado, el elemento primario incorporado no se clona y la asociación embedded_in no se establece.

Ejemplos:

Clonar el documento.

document.clone

Devuelve:



24
25
26
27
28
29
30
31
# Archivo 'lib/mongoid/copyable.rb', línea 24

def clon
  # @note La siguiente línea está aquí para abordar #2704, aunque tenga un
  # Los campos _id e id en el documento causarían problemas con Mongoid
  # en otro lugar. Tenga en cuenta que esto solo se hace en el documento raíz, ya que queremos
  # para mantener el mismo _id en los documentos incrustados.
  attrs = clonar_documento.excepto(*yo.clase.campos de identificación)
  Copiable.clonar_con_hash(yo.clase, attrs)
end