模块:Mongo::Collection::View::Aggregation::Behavior

扩展方式:
可转发
包括:
Enumerable、 explainableImmutableIterableLoggableRetryable
包含在:
Mongo::Collection::View::Aggregation ChangeStream
定义于:
lib/ Mongo/ 集合/view/ 聚合/behavior.rb

Overview

提取聚合器类(例如 View::Aggregator 和 View::ChangeStream)的常见行为。

由于:

  • 2.0.0

常量摘要

Loggable中包含的常量

Loggable::PREFIX

可解释性中包含的常量

explainable::ALL_PLANS_EXECUTION 、explainable ::EXECUTION_STATS 、explainable ::QUERY_PLANNER

实例属性摘要折叠

Mongo::CursorHost 中包含的属性

#cursor, #timeout_mode

包含在Immutable中的属性

#options

实例方法摘要折叠

Retryable 中包含的方法

#read_worker#select_server#write_worker

Loggable中包含的方法

#log_debug#log_error#log_ Fatal#log_info#log_warn#logger

Iterable包含的方法

#close_query , #each

Mongo::CursorHost 中包含的方法

#validate_timeout_mode!

实例属性详细信息

# view视图(只读)

返回视图集合视图。

返回:

  • ( View )

    view集合视图。

由于:

  • 2.0.0



19
20
21
# File 'lib/ Mongo/ 集合/view/ 聚合/behavior.rb', line 19

def 查看
  @view
end

实例方法详细信息

# allow_disk_use (value = nil) ⇒ true , ...

如果在聚合期间允许使用磁盘,则设置为 true。

例子:

设置磁盘使用情况标志。

aggregation.allow_disk_use(true)

参数:

  • ( true , false ) (默认为: nil

    标志值。

返回:

  • ( true , false , Aggregation )

    如果设置了值,则为聚合;如果用作 getter,则为值。

由于:

  • 2.0.0



38
39
40
# File 'lib/ Mongo/ 集合/view/ 聚合/behavior.rb', line 38

def allow_disk_use( = nil)
  配置(:allow_disk_use, )
end

# describe哈希

获取聚合的解释计划。

例子:

获取聚合的解释计划。

aggregation.explain

返回:

  • (哈希)

    解释计划。

由于:

  • 2.0.0



50
51
52
# File 'lib/ Mongo/ 集合/view/ 聚合/behavior.rb', line 50

def 解释
  self.class.new(查看, 管道, 选项.合并(merge)(解释: true)).first
end

#timeout_msInteger | nil

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

返回作为选项传递给此对象或从视图继承的 timeout_ms 值。

返回:

  • ( Integer | nil )

    作为选项传递给此对象的timeout_ms 值,或从视图继承的值。

由于:

  • 2.0.0



68
69
70
# File 'lib/ Mongo/ 集合/view/ 聚合/behavior.rb', line 68

def timeout_ms
  @timeout_ms || 查看.timeout_ms
end

# write?布尔

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

此聚合是否会将其结果写入数据库集合。

返回:

  • ( Boolean )

    聚合是否会将其结果写入集合。

由于:

  • 2.0.0



60
61
62
# File 'lib/ Mongo/ 集合/view/ 聚合/behavior.rb', line 60

def 写入?
  管道.任何? { |op| op.键?(' $out ') || op.键?(:$out) || op.键?(' $merge ') || op.键?(:$merge) }
end