클래스: Mongo::Collection::View::Aggregation

상속:
객체
  • 객체
모두 표시
확장자:
전달 가능
다음을 포함합니다.
Enumerable, Explainable, Immutable, Iterable, Loggable, Retryable
다음에 정의됨:
build/ruby-driver-v2.19/lib/mongo/collection/view/aggregation.rb

개요

컬렉션 보기에서 집계 파이프라인과 관련된 동작을 제공합니다.

이후:

  • 2.0.0

직접 알려진 하위 클래스

Change Stream

상수 요약 접기

REROOUT =
더 이상 사용되지 않습니다.

경로 재지정 메시지입니다.

이후:

  • 2.1.0

'애그리게이션 작업을 프라이머리 서버로 다시 라우팅합니다.'.동결

Loggable에서 포함된 상수

Loggable::prefix

Explainable에 포함된 상수

Explainable::ALL_PLANS_EXECUTION, Explainable ::EXECUTION_STATS, Explainable::QUERY_PLANNER

인스턴스 속성 요약 접기

Iterable에 포함된 속성

#cursor

불변에 포함된 속성

#options

인스턴스 메서드 요약 접기

Retryable에 포함된 메서드

#read_Worker, #select_server, #write_Worker

Loggable에 포함된 메서드

#log_debug, #log_error, #log_fatal, #log_info, #log_warn, #logger

Iterable에 포함된 메서드

#close_query, #each

생성자 세부 정보

#initialize(view, pipeline, options = {}) ⇒ 애그리게이션

제공된 collection 보기, 파이프라인 및 옵션에 대한 애그리게이션을 초기화합니다.

예시:

새 애그리게이션 뷰를 만듭니다.

Aggregation.view.new(view, pipeline)

매개변수:

  • 보기 (Collection::View)

    컬렉션 보기입니다.

  • 파이프라인 (Array<Hash>)

    운영 파이프라인.

  • 옵션 (해시) (기본값: {})

    애그리게이션 옵션.

옵션 해시(options):

  • :allow_disk_use (true, false)

    애그리게이션 중에 디스크 사용이 허용되는 경우 true로 설정합니다.

  • :batch_size (정수)

    배치당 반환할 문서 수입니다.

  • :bypass_document_validation (true, false)

    문서 수준 유효성 검사 를 건너뛸지 여부입니다.

  • :collation (해시)

    사용할 데이터 정렬입니다.

  • :comment (객체)

    이 명령에 첨부할 사용자 제공 코멘트입니다.

  • :hint (string)

    집계에 사용할 인덱스입니다.

  • :let (해시)

    파이프라인 에서 사용할 변수 매핑. 자세한 내용은 서버 설명서를 참조하세요.

  • :max_time_ms (정수)

    집계 실행 을 허용하는 최대 시간(밀리초)입니다.

  • :use_cursor (true, false)

    명령이 서버 에 커서 를 사용하여 결과를 제공하도록 요청 할지 여부를 나타냅니다. 서버 버전 3.6 부터 애그리게이션은 항상 커서 를 사용하여 결과를 제공하므로 이 옵션은 유효하지 않습니다.

  • :session (세션)

    사용할 세션입니다.

이후:

  • 2.0.0



97
98
99
100
101
102
103
104
# 파일 'build/ruby-driver-v2.19/lib/mongo/collection/view/aggregation.rb', 줄 97

def 초기화(보기, 파이프라인, 옵션 = {})
  @view = 보기
  @ 파이프라인 = 파이프라인.dup
  하지 않는 한 mongo.깨진 보기_집계 || 보기.필터.비어 있나요?
    @ 파이프라인.unshift(:$match => 보기.필터)
  end
  @options = BSON::문서.신규(옵션).동결
end

인스턴스 속성 세부 정보

#파이프라인Array<Hash> (읽기 전용)

반환 파이프라인 집계 파이프라인입니다.

반환합니다:

  • (Array<Hash>)

    파이프라인 집계 파이프라인입니다.

이후:

  • 2.0.0



37
38
39
# 파일 'build/ruby-driver-v2.19/lib/mongo/collection/view/aggregation.rb', 줄 37

def 파이프라인
  @ 파이프라인
end

#보기보기 (읽기 전용)

뷰를 반환합니다. 컬렉션 뷰를 반환합니다.

반환합니다:

  • (보기)

    view 컬렉션 보기.

이후:

  • 2.0.0



35
36
37
# 파일 'build/ruby-driver-v2.19/lib/mongo/collection/view/aggregation.rb', 줄 35

def 보기
  @view
end

인스턴스 메서드 세부 정보

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

애그리게이션 중에 디스크 사용이 허용되는 경우 true로 설정합니다.

예시:

디스크 사용 플래그를 설정합니다.

aggregation.allow_disk_use(true)

매개변수:

  • value (true, false) (기본값: nil)

    플래그 값입니다.

반환합니다:

  • (true, false, 애그리게이션)

    값이 설정된 경우 애그리게이션이고, 게터로 사용된 경우 값입니다.

이후:

  • 2.0.0



62
63
64
# 파일 'build/ruby-driver-v2.19/lib/mongo/collection/view/aggregation.rb', 줄 62

def allow_disk_use(value = nil)
  구성(:allow_disk_use, value)
end

#explain해시

애그리게이션에 대한 설명 계획을 가져옵니다.

예시:

애그리게이션에 대한 설명 계획을 가져옵니다.

aggregation.explain

반환합니다:

  • (해시)

    설명 계획.

이후:

  • 2.0.0



114
115
116
# 파일 'build/ruby-driver-v2.19/lib/mongo/collection/view/aggregation.rb', 줄 114

def 설명합니다.
  self.클래스.신규(보기, 파이프라인, 옵션.merge(설명: true)).first
end

#쓰기?부울

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

이 애그리게이션이 결과를 데이터베이스 컬렉션에 기록할지 여부입니다.

반환합니다:

  • (부울)

    애그리게이션이 결과를 컬렉션에 쓸지 여부입니다.

이후:

  • 2.0.0



124
125
126
# 파일 'build/ruby-driver-v2.19/lib/mongo/collection/view/aggregation.rb', 줄 124

def 쓰기 (write)?
  파이프라인.어떤? { |op| op.키?('$out') || op.키?(:$out) || op.키?('$merge') || op.키?(:$merge) }
end