模块:Mongo::Operation::Find::Builder::Command Private
- 定义于:
- build/Ruby-driver-v 2.19 /lib/mongo/operation/find/builder/command.rb
Overview
该模块是私有 API 的一部分。 您应尽可能避免使用此模块,因为它将来可能会被删除或更改。
从选项构建 find 命令规范。
常量摘要折叠
- OPTION_MAPPINGS =
此常量是私有 API 的一部分。 应尽可能避免使用此常量,因为它将来可能会被删除或更改。
从 Ruby 选项到 find 命令的映射。
BSON::文档.new( allow_disk_use: 'allowDiskUse', allow_partial_results: ' allowPartialResults ', await_data: 'awaitData', batch_size: ' batchSize ', 排序规则: ' collation ', comment: 'comment', 过滤器: ' 过滤 ', hint: ' hint ', 让: ' let ', limit: 'limit', max_scan: ' maxScan ', max_time_ms: 'maxTimeMS', max_value: 'max', min_value: 'min', no_cursor_timeout: ' noCursorTimeout ', oplog_replay: ' oplogReplay ', 投影: ' 投影 ', read_concern: ' readConcern ', return_key: 'returnKey', show_disk_loc: ' showRecordId ', single_batch: ' singleBatch ', skip: 'skip', 快照: ' 快照 ', sort: 'sort', tailable: ' tailable ', tailable_cursor: ' tailable ', ).冻结
类方法摘要折叠
-
。 convert_limit_and_batch_size! (命令)→ 对象
private
将 find 命令中的 limit 和 batchSize 参数为负值,转换为正值。
- 。选择器(spec, connection) ⇒ 对象 private
类方法详细信息
。 convert_limit_and_batch_size! (命令)→对象
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
将 find 命令中的 limit 和 batchSize 参数为负值,转换为正值。 如果参数值为零,则删除这些参数。
这只用于 find 命令,而不用于 OP_QUERY 路径。
此方法会更改command
参数。
87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 |
# File ' 构建/ruby-driver-v2.19/lib/ mongo /operation/find/builder/command.rb', 第87行 module_function def convert_limit_and_batch_size!(命令) if 命令[:limit] && 命令[:limit] < 0 && 命令[:batchSize] && 命令[:batchSize] < 0 then 命令[:limit] = 命令[:limit].abs 命令[:batchSize] = 命令[:limit].abs 命令[:singleBatch] = true else [:limit, :batchSize].每 do |opt| if 命令[opt] if 命令[opt] < 0 命令[opt] = 命令[opt].abs 命令[:singleBatch] = true elsif 命令[opt] == 0 命令.删除(opt) end end end end end |
。选择器(spec, connection) ⇒对象
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
# File ' 构建/ruby-driver-v2.19/lib/ mongo /operation/find/builder/command.rb', 第58行 module_function def 选择器(spec, 连接) if spec[:collation] && !连接.功能.collation_enabled? 提高 错误::UnsupportedCollation end BSON::文档.new.点击 do |选择器| OPTION_MAPPINGS.每 do |k, server_k| 除非 (值 = spec[k]).nil? 选择器[server_k] = 值 end end if rc = 选择器[:readConcern] 选择器[:readConcern] = 选项::映射器.transform_values_to_strings(rc) end convert_limit_and_batch_size!(选择器) end end |