模块:Mongoid::Criteria::Queryable::Optional
Overview
可选模块包括与查询周围的额外的选项有关的所有行为,例如跳过、限制、排序等。
实例属性摘要折叠
类方法摘要折叠
-
。 Forwardables ⇒ Array<Symbol>
获取可从模型转发到的可选选项的方法。
实例方法摘要折叠
-
# ascending (*fields) ⇒ 可选(也:#asc)
为所有提供的字段添加升序排序选项。
-
# batch_size (value = nil) ⇒ 可选
添加用于告知MongoDB在批处理中要检索多少文档的选项。
-
# collation (collation_doc) ⇒ 可选
设置排序规则。
-
# comment (comment = nil) ⇒ 可选
将注释与查询关联。
-
# cursor_type (type) ⇒ 可选
设置游标类型。
-
#降序(*fields) ⇒ 可选(也:#desc)
为所有提供的字段添加降序排序选项。
-
#hint (value = nil) ⇒ 可选
将索引提示添加到查询选项。
-
#limit(value = nil) ⇒ Optional
在返回的结果中添加要限制的文档数量。
-
# max_scan (value = nil) ⇒ 可选
添加用于限制集合中已扫描文档数量的选项。
-
# max_time_ms (value = nil) ⇒ 可选
为游标上的处理操作添加累积时间限制(以毫秒为单位)。
-
# no_timeout ⇒ 可选
指示查询不要超时。
-
# only (*args) ⇒ 可选
将结果限制为仅包含所提供的字段。
-
# order_by (*spec) ⇒ 可选(又作:#order)
在选项中添加排序条件。
-
# reorder (*spec) ⇒ 可选
使用此方法可以将现有排序完全替换为所提供的排序,而不是合并排序条件。
-
# skip (value = nil) ⇒ 可选(又作:#offset)
添加要跳过的文档数量。
-
# slice (criterion = nil) ⇒ 可选
通过对嵌入式数组进行切片来限制返回的结果。
-
# snapshot ⇒ 可选
让查询在快照模式下运行。
-
# without (*args) ⇒ 可选
将结果限制为仅包含未提供的字段。
从Macroable包含的方法
实例属性详细信息
# options ⇒对象
返回属性选项的值。
14 15 16 |
# File 'lib/mongoid/criteria/queryable/Optional.rb', line 14 def @options end |
# options查询选项。 (查询选项。) ⇒对象
14 |
# File 'lib/mongoid/criteria/queryable/Optional.rb', line 14 attr_accessor :options |
类方法详细信息
。 Forwardables ⇒ Array<Symbol>
获取可从模型转发到的可选选项的方法。
374 375 376 |
# File 'lib/mongoid/criteria/queryable/Optional.rb', line 374 def Forwardables public_instance_methods(false) - [ :options, :options= ] end |
实例方法详细信息
# ascending (*fields) ⇒可选也称为: asc
为所有提供的字段添加升序排序选项。
24 25 26 |
# File 'lib/mongoid/criteria/queryable/Optional.rb', line 24 def ascending(*字段) sort_with_list(*字段, 1) end |
# batch_size (value = nil) ⇒可选
添加用于告知MongoDB在批处理中要检索多少文档的选项。
40 41 42 |
# File 'lib/mongoid/criteria/queryable/Optional.rb', line 40 def batch_size(值 = nil) 选项(值) { || .存储(:batch_size, 值) } end |
# collation (collation_doc) ⇒可选
设置排序规则。
303 304 305 |
# File 'lib/mongoid/criteria/queryable/Optional.rb', line 303 def 排序规则(collation_doc) 克隆.点击 { |查询| 查询..存储(:collation, collation_doc) } end |
#comment(comment = nil) ⇒ Optional
注意:
将 profilingLevel 设置为2 ,评论将与查询一起记录在配置文件集合中。
将注释与查询关联。
274 275 276 277 278 |
# File 'lib/mongoid/criteria/queryable/Optional.rb', line 274 def comment(comment = nil) 克隆.点击 do |查询| 查询..存储(:comment, comment) end end |
# cursor_type (type) ⇒可选
注意:
游标的类型可以是 :tailable 或 :tailable_await。
设置游标类型。
291 292 293 |
# File 'lib/mongoid/criteria/queryable/Optional.rb', line 291 def cursor_type(类型) 克隆.点击 { |查询| 查询..存储(:cursor_type, 类型) } end |
#降序(*fields) ⇒可选也称为: desc
为所有提供的字段添加降序排序选项。
52 53 54 |
# File 'lib/mongoid/criteria/queryable/Optional.rb', line 52 def descending(*字段) sort_with_list(*字段, -1) end |
#hint (value = nil) ⇒可选
将索引提示添加到查询选项。
67 68 69 |
# File 'lib/mongoid/criteria/queryable/Optional.rb', line 67 def 提示(值 = nil) 选项(值) { || .存储(:hint, 值) } end |
#limit(value = nil) ⇒ Optional
在返回的结果中添加要限制的文档数量。
79 80 81 82 83 84 85 |
# File 'lib/mongoid/criteria/queryable/Optional.rb', line 79 def limit(值 = nil) 选项(值) do |, 查询| val = 值.to_i .存储(:limit, val) 查询.管道.推动(" $limit " => val) if 正在聚合? end end |
# max_scan (value = nil) ⇒可选
添加用于限制集合中已扫描文档数量的选项。
96 97 98 |
# File 'lib/mongoid/criteria/queryable/Optional.rb', line 96 def max_scan(值 = nil) 选项(值) { || .存储(:max_scan, 值) } end |
# max_time_ms (value = nil) ⇒可选
为游标上的处理操作添加累积时间限制(以毫秒为单位)。
108 109 110 |
# File 'lib/mongoid/criteria/queryable/Optional.rb', line 108 def max_time_ms(值 = nil) 选项(值) { || .存储(:max_time_ms, 值) } end |
# no_timeout ⇒可选
指示查询不要超时。
118 119 120 |
# File 'lib/mongoid/criteria/queryable/Optional.rb', line 118 def no_timeout 克隆.点击 { |查询| 查询..存储(:timeout, false) } end |
# only (*args) ⇒可选
将结果限制为仅包含所提供的字段。
130 131 132 133 134 135 136 137 138 139 |
# File 'lib/mongoid/criteria/queryable/Optional.rb', line 130 def only(*args) args = args.展平 选项(*args) do || .存储( :fields, args.注入([:fields] || {}){ |子, 字段| 子.点击 { 子[字段] = 1 }}, false ) end end |
# order_by (*spec) ⇒可选也称为: order
在选项中添加排序条件。
170 171 172 173 174 175 176 177 178 179 |
# File 'lib/mongoid/criteria/queryable/Optional.rb', line 170 def order_by(*spec) 选项(spec) do |, 查询| spec.compact.每 do |criterion| criterion.__sort_option__.each_pair do |字段, 方向| add_sort_option(, 字段, 方向) end 查询.管道.推动(" $sort " => [:sort]) if 正在聚合? end end end |
# reorder (*spec) ⇒可选
使用此方法可以将现有排序完全替换为所提供的排序,而不是合并排序条件。
191 192 193 194 195 |
# File 'lib/mongoid/criteria/queryable/Optional.rb', line 191 def 重新排序(*spec) 克隆.点击 do |查询| 查询..删除(:sort) end.order_by(*spec) end |
# skip (value = nil) ⇒可选也称为:偏移量
添加要跳过的文档数量。
205 206 207 208 209 210 211 |
# File 'lib/mongoid/criteria/queryable/Optional.rb', line 205 def 跳过(值 = nil) 选项(值) do |, 查询| val = 值.to_i .存储(:skip, val) 查询.管道.推动(" $skip " => val) if 正在聚合? end end |
# slice (criterion = nil) ⇒可选
通过对嵌入式数组进行切片来限制返回的结果。
222 223 224 225 226 227 228 229 230 |
# File 'lib/mongoid/criteria/queryable/Optional.rb', line 222 def slice(criterion = nil) 选项(criterion) do || .__union__( 字段: criterion.注入({}) do |选项, (字段, val)| 选项.点击 { |opt| opt.存储(字段, { " $slice " => val }) } end ) end end |
# 快照 ⇒可选
让查询在快照模式下运行。
238 239 240 241 242 |
# File 'lib/mongoid/criteria/queryable/Optional.rb', line 238 def snapshot 克隆.点击 do |查询| 查询..存储(:快照, true) end end |
# without (*args) ⇒可选
将结果限制为仅包含未提供的字段。
252 253 254 255 256 257 258 259 260 261 |
# File 'lib/mongoid/criteria/queryable/Optional.rb', line 252 def 没有(*args) args = args.展平 选项(*args) do || .存储( :fields, args.注入([:fields] || {}){ |子, 字段| 子.点击 { 子[字段] = 0 }}, false ) end end |