Módulo: Mongoid::Copyable

Estendido por:
ActiveSupport::Concern
Incluído em:
Componível
Definido em:
build/mongoid-8.1/lib/mongoid/copyable.rb

Visão geral

Este módulo contém o comportamento do clone/dup de documentos do Mongoid.

Recolhimento do Resumo do método de instância

Detalhes do método de instância

#cloneDocument Também conhecido como: dup

Clone ou duplique o Document atual. Isso retornará todos os atributos com exceção do ID do documento e redefinirá todas as variáveis de instância.

Este clone também inclui documentos incorporados. Se houver um campo _id no documento incorporado, ele será mantido, ao contrário do _id da raiz.

Se estiver clonando um filho incorporado, o pai incorporado não será clonado e a associação embedded_in não será definida.

Exemplos:

Clone o documento.

document.clone

Retorna:



23
24
25
26
27
28
29
30
# File 'build/mongoid-8.1/lib/mongoid/copyable.rb', linha 23

def clonar
  # @note Esta próxima linha está aqui para abordar #2704, embora tenha um
  # _id e campo ID no documento causaria problemas com o Mongoid
  # em outro lugar. Observe que isso só é feito no documento raiz, pois queremos
  # para manter o mesmo _id nos documentos incorporados.
  attrs = clone_document.exceto(*auto.classe.id_fields)
  Copiável.clone_with_hash(auto.classe, attrs)
end