类:Mongo::Collection::View::Aggregation
- 继承:
-
对象
- 对象
- Mongo::Collection::View::Aggregation
- 扩展方式:
- 可转发
- 包括:
- Enumerable、 explainable 、 Immutable 、 Iterable 、 Loggable 、 Retryable
- 定义于:
- build/Ruby-driver-v 2.19 /lib/mongo/collection/view/aggregation.rb
Overview
在集合视图上提供有关聚合管道的行为。
直接已知子类
常量摘要折叠
- REROUTE =
已弃用。
重新路由消息。
'将聚合操作重新路由到主服务器。 '.冻结
Loggable中包含的常量
可解释性中包含的常量
explainable::ALL_PLANS_EXECUTION 、explainable ::EXECUTION_STATS 、explainable ::QUERY_PLANNER
实例属性摘要折叠
-
# 管道 ⇒ Array<Hash>
只读
管道 聚合管道。
-
#view ⇒ View
只读
视图 集合视图。
Iterable包含的属性
包含在Immutable中的属性
实例方法摘要折叠
-
# allow_disk_use (value = nil) ⇒ true, ...
如果在聚合期间允许使用磁盘,则设置为 true。
-
# describe ⇒ 哈希
获取聚合的解释计划。
-
#initialize (view, pipeline, options = {}) ⇒ 聚合
构造函数
为所提供的集合视图、管道和选项初始化聚合。
-
# write? ⇒ 布尔
private
此聚合是否会将其结果写入数据库集合。
Retryable 中包含的方法
#read_worker 、 #select_server 、 #write_worker
Loggable中包含的方法
#log_debug 、 #log_error 、 #log_ Fatal 、 #log_info 、 #log_warn 、 #logger
从Iterable包含的方法
构造函数详情
#initialize (view, pipeline, options = {}) ⇒聚合
为所提供的集合视图、管道和选项初始化聚合。
97 98 99 100 101 102 103 104 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/collection/view/aggregation.rb', 第97行 def 初始化(查看, 管道, = {}) @view = 查看 管道 = 管道.dup 除非 mongo.broken_view_aggregate || 查看.筛选器.空? 管道.unshift(:$match => 查看.筛选器) end @options = BSON::文档.new().冻结 end |
实例属性详细信息
# 管道 ⇒ Array<Hash> (只读)
返回 pipeline 聚合管道。
37 38 39 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/collection/view/aggregation.rb', 第37行 def 管道 管道 end |
# view ⇒视图(只读)
返回视图集合视图。
35 36 37 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/collection/view/aggregation.rb', 第35行 def 查看 @view end |
实例方法详细信息
# allow_disk_use (value = nil) ⇒ true , ...
如果在聚合期间允许使用磁盘,则设置为 true。
62 63 64 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/collection/view/aggregation.rb', 第62行 def allow_disk_use(值 = nil) 配置(:allow_disk_use, 值) end |
# describe ⇒哈希
获取聚合的解释计划。
114 115 116 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/collection/view/aggregation.rb', 第114行 def 解释 self.class.new(查看, 管道, .合并(merge)(解释: true)).first end |
# write? ⇒布尔
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
此聚合是否会将其结果写入数据库集合。
124 125 126 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/collection/view/aggregation.rb', 第124行 def 写入? 管道.任何? { |op| op.键?(' $out ') || op.键?(:$out) || op.键?(' $merge ') || op.键?(:$merge) } end |