模块:Mongo::Options::Mapper

扩展方式:
映射器
包含在:
映射器
定义于:
build/Ruby-driver-v 2.19 /lib/mongo/options/mapper.rb

Overview

用于各种选项映射行为的实用程序类。

由于:

  • 2.0.0

实例方法摘要折叠

实例方法详细信息

#transform (options, mappings) ⇒哈希

在给定映射的情况下,将提供的选项转换为一设立新选项。

不存在于所提供映射中的选项将按原样返回。

例子:

转换选项。

Mapper.transform({ name: 1 }, { :name => :nombre })

参数:

  • 选项 (哈希)

    要转换的选项

  • mappings (哈希)

    键映射。

返回:

  • (哈希)

    转换后的选项。

由于:

  • 2.0.0



42
43
44
45
46
47
48
49
50
51
52
53
# File 'build/Ruby-driver-v 2.19 /lib/mongo/options/mapper.rb', 第42行

def 转换(Transform)(选项, mappings)
  map = transform_keys_to_strings(mappings)
  opts = transform_keys_to_strings(选项)
  opts.化简(reduce)({}) do |已转换, (key, )|
    if map[key]
      已转换[map[key]] = 
    else
      已转换[key] = 
    end
    已转换
  end
end

#transform_documents (options, mappings, 文档 = BSON::Document.new) ⇒ BSON::Document

在给定映射的情况下,将提供的选项转换为一设立新选项。 输入和输出均应为BSON::Documents,因此无需进行显式string转换。

例子:

转换选项。

Mapper.transform_documents({ name: 1 }, { :name => :nombre })

参数:

  • 选项 ( BSON::Document )

    要转换的选项

  • mappings ( BSON::Document )

    键映射。

  • 文档 ( BSON::Document ) (默认为: BSON::Document.new

    输出文档。

返回:

  • ( BSON::Document )

    转换后的选项。

由于:

  • 2.0.0



69
70
71
72
73
74
75
# File 'build/Ruby-driver-v 2.19 /lib/mongo/options/mapper.rb', 第69行

def transform_documents(选项, mappings, 文档 = BSON::文档.new)
  选项.化简(reduce)(文档) do |已转换, (key, )|
    名称 = mappings[key]
    已转换[名称] =  if 名称 && !.nil?
    已转换
  end
end

#transform_keys_to_strings (options) ⇒哈希

将选项的所有键转换为字符串。

例子:

将所有选项键转换为字符串。

Mapper.transform({ :name => 1 })

参数:

  • 选项 (哈希)

    要转换的选项。

返回:

  • (哈希)

    转换后的选项。

由于:

  • 2.0.0



87
88
89
90
91
92
# File 'build/Ruby-driver-v 2.19 /lib/mongo/options/mapper.rb', 第87行

def transform_keys_to_strings(选项)
  选项.化简(reduce)({}) do |已转换, (key, )|
    已转换[key.to_s] = 
    已转换
  end
end

#transform_keys_to_symbols (options) ⇒哈希

将选项的所有键转换为符号。

例子:

将所有选项键转换为符号。

Mapper.transform({ 'name' => 1 })

参数:

  • 选项 (哈希)

    要转换的选项。

返回:

  • (哈希)

    转换后的选项。

由于:

  • 2.2.2



104
105
106
107
108
109
# File 'build/Ruby-driver-v 2.19 /lib/mongo/options/mapper.rb', 第104行

def transform_keys_to_symbols(选项)
  选项.化简(reduce)({}) do |已转换, (key, )|
    已转换[key.to_sym] = 
    已转换
  end
end

#transform_values_to_strings (options) ⇒哈希

将所有符号值转换为字符串。

例子:

将所有选项符号值转换为字符串。

Mapper.transform({ :name => 1 })

参数:

  • 选项 (哈希)

    要转换的选项。

返回:

  • (哈希)

    转换后的选项。

由于:

  • 2.0.0



121
122
123
124
125
126
# File 'build/Ruby-driver-v 2.19 /lib/mongo/options/mapper.rb', 第121行

def transform_values_to_strings(选项)
  选项.化简(reduce)({}) do |已转换, (key, )|
    已转换[key] = .is_a?(符号) ? .to_s : 
    已转换
  end
end