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

상속:
객체
  • 객체
모두 표시
확장자:
전달 가능
다음에 정의됨:
빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/view/builder/ 집계.rb

개요

보기 및 옵션에서 집계 명령 사양을 빌드합니다.

이후:

  • 2.2.0

상수 요약 접기

Mappings =

Ruby 옵션에서 집계 옵션으로의 매핑입니다.

이후:

  • 2.2.0

BSON::문서.신규(
  allow_disk_use: 'allowDiskUse',
  bypass_document_validation: 'bypassDocumentValidation',
  설명: 'explain',
  데이터 정렬: '데이터 정렬',
  comment: 'comment',
  hint: '힌트',
  let: 'let',
  # 이는 의도적입니다. max_await_time_ms는 maxTimeMS의 별칭입니다.
  # 변경 스트림에 대한 getMore 명령에 사용됩니다.
  max_await_time_ms: 'maxTimeMS',
  max_time_ms: 'maxTimeMS',
).동결

인스턴스 속성 요약 접기

인스턴스 메서드 요약 접기

생성자 세부 정보

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

빌더를 초기화합니다.

매개변수:

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

    집계 파이프라인.

  • 보기 (Collection::View)

    컬렉션 보기입니다.

  • 옵션 (해시)

    맵/리듀스 및 읽기 설정 (read preference) 옵션.

이후:

  • 2.2.0



64
65
66
67
68
# 파일 'build/ruby-driver-v2.19/lib/mongo/collection/view/builder/aggregation.rb', 줄 64

def 초기화(파이프라인, 보기, 옵션)
  @ 파이프라인 = 파이프라인
  @view = 보기
  @options = 옵션
end

인스턴스 속성 세부 정보

#options해시 (읽기 전용)

반환 옵션 맵/리듀스 특정 옵션입니다.

반환합니다:

  • (해시)

    options 맵/리듀스 특정 옵션입니다.

이후:

  • 2.2.0



55
56
57
# 파일 'build/ruby-driver-v2.19/lib/mongo/collection/view/builder/aggregation.rb', 줄 55

def 옵션
  @options
end

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

반환 파이프라인 파이프라인.

반환합니다:

  • (Array<Hash>)

    파이프라인 파이프라인.

이후:

  • 2.2.0



49
50
51
# 파일 'build/ruby-driver-v2.19/lib/mongo/collection/view/builder/aggregation.rb', 줄 49

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

#viewCollection::View (읽기 전용)

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

반환합니다:

이후:

  • 2.2.0



52
53
54
# 파일 'build/ruby-driver-v2.19/lib/mongo/collection/view/builder/aggregation.rb', 줄 52

def 보기
  @view
end

인스턴스 메서드 세부 정보

#사양해시

집계 작업에 전달할 사양을 가져옵니다.

예시:

사양을 가져옵니다.

builder.specification

반환합니다:

  • (해시)

    사양.

이후:

  • 2.2.0



78
79
80
81
82
83
84
85
86
87
88
89
90
# 파일 'build/ruby-driver-v2.19/lib/mongo/collection/view/builder/aggregation.rb', 줄 78

def 사양
  사양 = {
    선택기: Aggregation_command,
    db_name: database.이름,
    읽기: @options[:read_preference] || 보기.read_preference,
    세션: @options[:session],
    데이터 정렬: @options[:collation],
  }
  만약 쓰기 (write)?
    사양.update(write_concern: write_concern)
  end
  사양
end