类:Mongo::Collection::View
- 继承:
-
对象
- 对象
- Mongo::Collection::View
- 扩展方式:
- 可转发
- 定义于:
- lib/ Mongo/ 集合/view.rb ,
lib/ Mongo/
集合/view/iterable.rb,
lib/ Mongo/ 集合/view/readable.rb,
lib/ Mongo/ 集合/view/writable.rb,
lib/ Mongo/ 集合/view/immutable.rb,
lib/ Mongo/ 集合/view/map_reduce.rb,
lib/ Mongo/ 集合/view/ 聚合.rb,
lib/
Mongo/ 集合/view/explainable.rb, lib/ Mongo/ 集合/ view/change_stream.rb,
lib/ Mongo/ 集合/view/builder/map_reduce.rb,
lib/ Mongo/ 集合/view/builder/ 聚合.rb,
lib/ Mongo/ 集合/view/ 聚合/behavior.rb, lib/ Mongo/ 集合/view/change_stream/retryable.rb 更多...
Overview
View
API 是半公开的。
生成文档结果设立的查询和选项的表示形式。
可以使用助手来修改View
。 助手可以链式运行,因为如果提供了参数,每个助手都会返回View
。
调用“终结器”时,会将查询消息发送到服务器。 例如,当在View
上调用 #each 时,会创建一个游标对象,然后该对象会将查询发送到服务器。
View
不是由用户直接创建的。 相反, View
会在调用 CRUD 操作时创建View
,并将其返回给用户进行交互。
在命名空间下定义
模块: Builder 、 Explainable 、 Immutable 、 Iterable 、 Readable 、 Writable类: Aggregation 、 ChangeStream 、 MapReduce
常量摘要
Writable中包含的常量
可解释性中包含的常量
explainable::ALL_PLANS_EXECUTION 、explainable ::EXECUTION_STATS 、explainable ::QUERY_PLANNER
实例属性摘要折叠
-
# 集合 ="Collection"(集合)
只读
要查询的
Collection
。 -
# 过滤 ⇒ 哈希(也称为:#selector)
只读
查询筛选器。
-
# operation_timeout_ms ⇒ Integer | nil |作为选项传递给视图的 timeout_ms 值。
只读
private
整数 | nil |作为选项传递给视图的 timeout_ms 值。
Mongo::CursorHost 中包含的属性
包含在Immutable中的属性
实例方法摘要折叠
-
# == (other) ⇒ true, false (又名:#eql?)
比较两个
View
对象。 -
#哈希⇒ 整数
View
的哈希值由集合命名空间、选项哈希和筛选器哈希组成。 -
#initialize (集合, 过滤 = {}, options = {}) ⇒ 查看
构造函数
创建一个新的
View
。 -
#检查⇒ string
获取
View
的人类可读string表示形式。 -
# operation_timeups (opts = {}) ⇒ 哈希
private
在操作级别上设立的timeout_ms 值(如果有),和/或在集合/数据库/客户端级别上设立的timeout_ms(如果有)。
-
#timeout_ms ⇒ Integer | nil
用于此操作的 timeout_ms 值;指定为视图的选项,或从集合继承。
-
# write_concern ⇒ Mongo::WriteConcern
获取此
View
上的写关注(write concern)。
从Writable中包含的方法
#delete_many 、# delete_one 、# find_one_and_delete 、# find_one_and_replace 、 #find_one_and_update 、#replace_one、 #update_many 、 # update_one
方法包含在可解释
Readable中包含的方法
#aggregate、#allow_disk_use、#allow_partial_results、#await_data、#batch_size、#comment、#count、#count_documents、#cursor_type、#distinct、#estimated_document_count、#hint、#limit、#map_reduce、#max_await_time_ms、#max_scan、#max_time_ms , #max_value , #min_value , #modifiers , #no_cursor_timeout , #parallel_scan , 投影 , #read , #read_concern , #read_preference , #return_key , #show_disk_loc , #skip , # 快照 , #sort
从Iterable包含的方法
Mongo::CursorHost 中包含的方法
构造函数详情
#initialize (集合, 过滤 = {}, options = {}) ⇒查看
创建一个新的View
。
169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 |
# File 'lib/ Mongo/ 集合/view.rb', line 169 def 初始化(集合, 筛选器 = {}, = {}) validate_doc!(筛选器) 筛选器 = BSON::文档.new(筛选器) = BSON::文档.new() @collection = 集合 @operation_timeout_ms = .删除(:timeout_ms) validate_timeout_mode!() # 这是用户在过滤和其他修饰符中传递 $ 查询的时间 # 并排? 查询 = 筛选器.删除(:$query) # 这会使修饰符包含筛选器(如果筛选器不是 # 通过 $query 给出,但可能是作为顶级键 # 下游代码会忽略修饰符中的非修饰键吗? modifiers = 筛选器.合并(merge)(.删除(:modifiers) || {}) @filter = (查询 || 筛选器).冻结 @options = 操作::find::生成器::Modifiers.(modifiers).合并!().冻结 end |
实例属性详细信息
# collection =" Collection " (只读)
返回要查询的Collection
。
56 57 58 |
# File 'lib/ Mongo/ 集合/view.rb', line 56 def 集合 @collection end |
# filter ⇒ Hash (readonly)也称为:选择器
返回查询过滤。
59 60 61 |
# File 'lib/ Mongo/ 集合/view.rb', line 59 def 筛选器 @filter end |
# operation_timeout_ms ⇒ Integer | nil |作为选项传递给视图的 timeout_ms 值。(只读)
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
返回整数 | nil |作为选项传递给视图的 timeout_ms 值。
81 82 83 |
# File 'lib/ Mongo/ 集合/view.rb', line 81 def operation_timeout_ms @operation_timeout_ms end |
实例方法详细信息
# == (other) ⇒ true , false也称为: eql?
比较两个View
对象。
92 93 94 95 96 97 |
# File 'lib/ Mongo/ 集合/view.rb', line 92 def ==(其他) return false 除非 其他.is_a?(查看) 集合 == 其他.集合 && 筛选器 == 其他.筛选器 && == 其他. end |
#哈希⇒整数
View
的哈希值由集合命名空间、选项哈希和筛选器哈希组成。
109 110 111 |
# File 'lib/ Mongo/ 集合/view.rb', line 109 def 哈希 [ 集合.namespace, .哈希, 筛选器.哈希 ].哈希 end |
#检查⇒ string
获取 View
的人类可读string表示形式。
207 208 209 210 |
# File 'lib/ Mongo/ 集合/view.rb', line 207 def 检查 " #<Mongo::Collection::View:0 x #{ object_id} 命名空间 =' #{ 集合 .namespace} ' " + " @filter = #{ 过滤 . to_s } @options= #{ . to_s } > " end |
# operation_timeups (opts = {}) ⇒ 哈希
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
返回在操作级别(如果有)上设立的timeout_ms 值,和/或在集合/数据库/客户端级别上设立的timeout_ms(如果有)。
228 229 230 231 232 233 234 235 236 |
# File 'lib/ Mongo/ 集合/view.rb', line 228 def operation_timeups(opts = {}) {}.点击 do |结果| if opts[:timeout_ms] || operation_timeout_ms 结果[:operation_timeout_ms] = opts[:timeout_ms] || operation_timeout_ms else 结果[:inherited_timeout_ms] = 集合.timeout_ms end end end |
#timeout_ms ⇒ Integer | nil
用于此操作的 timeout_ms 值;指定为视图的选项,或从集合继承。
195 196 197 |
# File 'lib/ Mongo/ 集合/view.rb', line 195 def timeout_ms operation_timeout_ms || 集合.timeout_ms end |
# write_concern ⇒ Mongo::WriteConcern
获取此View
上的写关注(write concern)。
220 221 222 |
# File 'lib/ Mongo/ 集合/view.rb', line 220 def write_concern writeConcern.获取([:write_concern] || [:write] || 集合.write_concern) end |