模块:Mongoid::Copyable

扩展方式:
ActiveSupport::Concern
包含在:
可组合
定义于:
lib/mongoid/copyable.rb

Overview

该模块包含 Mongoid 的文档克隆/复制行为。

实例方法摘要折叠

实例方法详细信息

# cloneDocument也称为: dup

克隆当前的Document 。 这将返回除文档 ID 之外的所有属性,并将重置所有实例变量。

此克隆还包括嵌入式文档。 与根文档的_id不同,如果嵌入式文档中有_id字段,则会保留该字段。

如果克隆嵌入式子文档,则不会克隆嵌入式父文档,也不会设立embedded_in 关联。

例子:

克隆文档。

document.clone

返回:



24
25
26
27
28
29
30
31
# File 'lib/mongoid/copyable.rb', 第24行

def 克隆
  # @note 下一行是为了解决# 2704 ,即使有
  #文档中的_id和ID字段会导致 Mongoid 出现问题
  # 其他地方。 请注意,这仅适用于我们想要的根文档
  # 在嵌入式文档上保持相同的_id 。
  attrs = clone_document.除了(*self.class.id_fields)
  可复制.clone_with_hash(self.class, attrs)
end