模块:Mongoid::Copyable
Overview
该模块包含 Mongoid 的文档克隆/复制行为。
实例方法摘要折叠
-
# clone ⇒ 文档(又作:#dup)
克隆当前的
Document
。
实例方法详细信息
# clone ⇒ Document也称为: dup
克隆当前的Document
。 这将返回除文档 ID 之外的所有属性,并将重置所有实例变量。
此克隆还包括嵌入式文档。 与根文档的_id不同,如果嵌入式文档中有_id字段,则会保留该字段。
如果克隆嵌入式子文档,则不会克隆嵌入式父文档,也不会设立embedded_in 关联。
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 |