Class: Mongo::Protocol::Query::Upconverter

继承:
对象
  • 对象
显示全部
定义于:
lib/ Mongo/ 协议/ 查询

Overview

将旧版查询消息转换为相应的 OP_COMMAND 样式消息。

由于:

  • 2.1.0

常量摘要折叠

OPTION_MAPPINGS =

这些选项到 find 命令选项的映射。

由于:

  • 2.1.0

{
  项目: ' 投影 ',
  skip: 'skip',
  limit: 'limit',
  batch_size: ' batchSize '
}.冻结
SPECIAL_FIELD_MAPPINGS =

由于:

  • 2.1.0

{
  :$readPreference => ' $readPreference ',
  :$orderby => 'sort',
  :$hint => ' hint ',
  :$comment => 'comment',
  :$returnKey => 'returnKey',
  :$ 快照 => ' 快照 ',
  :$maxScan => ' maxScan ',
  :$max => 'max',
  :$min => 'min',
  :$maxTimeMS => 'maxTimeMS',
  :$showDiskLoc => ' showRecordId ',
  :$explain => ' explain '
}.冻结
FLAG_MAPPINGS =

将标志映射到 find 命令选项。

由于:

  • 2.1.0

{
  tailable_cursor: ' tailable ',
  oplog_replay: ' oplogReplay ',
  no_cursor_timeout: ' noCursorTimeout ',
  await_data: 'awaitData',
  部分: ' allowPartialResults '
}.冻结

实例属性摘要折叠

实例方法摘要折叠

构造函数详情

#initialize (集合, 过滤, options, flags) ⇒ Upconverter

实例化上转换器。

例子:

实例化上转换器。

Upconverter.new('users', { name: 'test' }, { skip: 10 })

参数:

  • 集合 ( string )

    集合的名称。

  • 筛选器 ( BSON::Document , Hash )

    过滤或命令。

  • 选项 ( BSON::Document , Hash )

    选项。

  • flags ( Array< Symbol > )

    标志。

引发:

  • ( ArgumentError )

由于:

  • 2.1.0



279
280
281
282
283
284
285
286
287
288
289
290
# File 'lib/ Mongo/ 协议/ 查询', line 279

def 初始化(集合, 筛选器, 选项, flags)
  # 虽然文档字符串声明哈希和BSON::Documents
  # 是可以接受的,此类期望筛选器和选项为
  # 包含符号键,这不是操作层生成的。
  提高 ArgumentError, '筛选器必须提供无关紧要的访问权限' 除非 筛选器.is_a?(BSON::文档)
  提高 ArgumentError, '选项必须提供无关紧要的访问' 除非 选项.is_a?(BSON::文档)

  @collection = 集合
  @filter = 筛选器
  @options = 选项
  @flags = flags
end

实例属性详细信息

#集合string (只读)

返回 collection 集合的名称。

返回:

  • ( string )

    集合的名称。

由于:

  • 2.1.0



257
258
259
# File 'lib/ Mongo/ 协议/ 查询', line 257

def 集合
  @collection
end

# filterBSON::Document , Hash (readonly)

返回过滤查询过滤或命令。

返回:

  • ( BSON::Document , Hash )

    过滤查询过滤或命令。

由于:

  • 2.1.0



260
261
262
# File 'lib/ Mongo/ 协议/ 查询', line 260

def 筛选器
  @filter
end

# flagsArray< Symbol > (只读)

返回 flags 标志。

返回:

  • ( Array< Symbol > )

    flags 标志。

由于:

  • 2.1.0



266
267
268
# File 'lib/ Mongo/ 协议/ 查询', line 266

def flags
  @flags
end

# optionsBSON::Document , Hash (readonly)

返回 options 选项。

返回:

  • ( BSON::Document , Hash )

    options 选项。

由于:

  • 2.1.0



263
264
265
# File 'lib/ Mongo/ 协议/ 查询', line 263

def 选项
  @options
end

实例方法详细信息

#commandBSON::Document

获取上转换命令。

例子:

获取命令。

upconverter.command

返回:

  • ( BSON::Document )

    上转换命令。

由于:

  • 2.1.0



300
301
302
# File 'lib/ Mongo/ 协议/ 查询', line 300

def 命令
  命令? ? op_command : find_command
end

# command_namestring

获取命令的名称。如果集合为$cmd ,则为过滤器中的第一个键,否则为 find 。

例子:

获取命令名称。

upconverter.command_name

返回:

  • ( string )

    命令名称。

由于:

  • 2.1.0



313
314
315
# File 'lib/ Mongo/ 协议/ 查询', line 313

def command_name
  ((筛选器[:$query] || !命令?) ? :find : 筛选器.密钥.first).to_s
end