클래스: Mongoid::Criteria::Queryable::Pipeline

상속:
배열
  • 객체
모두 표시
다음에 정의됨:
lib/mongoid/criteria/queryable/ 파이프라인.rb

개요

집계 파이프라인을 나타냅니다.

인스턴스 속성 요약 접기

인스턴스 메서드 요약 접기

생성자 세부 정보

#initialize(aliases = {}) {|_self| ... } ⇒ 파이프라인

새 파이프라인 을 초기화합니다.

예시:

새 파이프라인 을 초기화합니다.

Queryable::Pipeline.new(aliases)

매개변수:

  • 별칭 (해시) (기본값: {})

    별칭에서 데이터베이스 의 실제 필드 이름으로의 매핑 해시입니다.

수율:

  • (_self)

수율 매개변수:



48
49
50
51
# 파일 'lib/mongoid/criteria/queryable/ 파이프라인.rb', 줄 48

def 초기화(별칭 = {})
  @aliases = 별칭
  yield(self) 만약 block_given?
end

인스턴스 속성 세부 정보

#aliases객체 (읽기 전용)

속성 별칭의 값을 반환합니다.



12
13
14
# 파일 'lib/mongoid/criteria/queryable/ 파이프라인.rb', 줄 12

def 별칭
  @aliases
end

#aliases 필드 별칭입니다.(Thefieldaliases.) ⇒ 객체 (읽기 전용)



12
# 파일 'lib/mongoid/criteria/queryable/ 파이프라인.rb', 줄 12

attr_reader :aliases

인스턴스 메서드 세부 정보

#__deep_copy__파이프라인

집계 파이프라인 을 딥 카피합니다. 파이프라인 자체뿐만 아니라 파이프라인 의 모든 값을 복제합니다.

예시:

파이프라인을 딥 카피합니다.

pipeline.__deep_copy__

반환합니다:



21
22
23
24
25
26
27
# 파일 'lib/mongoid/criteria/queryable/ 파이프라인.rb', 줄 21

def __deep_copy__
  self.클래스.신규(별칭) do |copy|
     do |항목|
      copy.push(항목.__deep_copy__)
    end
  end
end

#그룹(항목) ⇒ 파이프라인

집계 파이프라인에 그룹 작업을 추가합니다.

예시:

그룹 작업을 추가합니다.

pipeline.group(:_id => "foo", :count.sum => 1, :max.max => "likes")

매개변수:

  • 항목 (해시)

    그룹 항목입니다.

반환합니다:



37
38
39
# 파일 'lib/mongoid/criteria/queryable/ 파이프라인.rb', 줄 37

def 그룹(항목)
  push("$ 그룹" => 진화(항목.__expand_complex__))
end

#프로젝트(entry) ⇒ Pipeline

집계 파이프라인에 $project 항목을 추가합니다.

예시:

프로젝션을 추가합니다.

pipeline.project(name: 1)

매개변수:

  • 항목 (해시)

    프로젝션.

반환합니다:



61
62
63
# 파일 'lib/mongoid/criteria/queryable/ 파이프라인.rb', 줄 61

def 프로젝트(항목)
  push("$ 프로젝트" => 진화(항목))
end

#unwind(field_or_doc) ⇒ 파이프라인

파이프라인에 $unwind 항목을 추가합니다.

예시:

해제를 추가합니다.

pipeline.unwind(:field)
pipeline.unwind(document)

매개변수:

  • field_or_doc (string | 기호 | 해시)

    필드 이름 또는 문서 입니다.

반환합니다:



75
76
77
78
79
80
81
82
83
# 파일 'lib/mongoid/criteria/queryable/ 파이프라인.rb', 줄 75

def Unwind(field_or_doc)
  하지 않는 한 field_or_doc.response_to? :keys
    정규화 = field_or_doc.to_s
    이름 = 별칭[정규화] || 정규화
    push("$unwind" => 이름.__mongo_expression__)
  other
    push("$unwind" => field_or_doc)
  end
end