模块:Mongoid::Extensions::BsonDocument

定义于:
lib/mongoid/extensions/bson_document.rb

Overview

向BSON::Document 添加行为。

实例方法摘要折叠

实例方法详细信息

#__deep_copy__ =" BSON::Document"

制作此 document 的深层副本,并保留BSON::Document 类型。

Hash#deep_copy 返回一个普通哈希,这会导致当存储的属性为BSON ::Document 时,field_was 返回与字段getter 不同的类型。

例子:

制作 document 的深层副本。

doc.__deep_copy__

返回:

  • ( BSON::Document )

    复制的document。



17
18
19
20
21
22
23
# File 'lib/mongoid/extensions/bson_document.rb', line 17

def __deep_copy__
  self.class.new.点击 do |copy|
    each_pair do |key, |
      copy.存储(key, .__deep_copy__)
    end
  end
end