모듈: Mongoid::Criteria::Queryable::Aggregable

확장자:
매크로 가능
포함 항목:
Mongoid::Criteria::Queryable
다음에 정의됨:
lib/mongoid/criteria/queryable/aggregable.rb

개요

집계 프레임워크 명령 작성과 관련된 DSL을 제공합니다.

인스턴스 속성 요약 접기

인스턴스 메서드 요약 접기

매크로 가능에 포함된 메서드

인스턴스 속성 세부 정보

#집계 집계 여부를 나타내는 플래그.(플래그) ⇒ 객체



16
# 파일 'lib/mongoid/criteria/queryable/aggregable.rb', 줄 16

attr_writer :aggregating

#aggregating=(값) ⇒ 객체 (쓰기 전용)

속성 애그리게이션을 설정합니다.

매개변수:

  • value

    속성 애그리게이션을 설정할 값입니다.



16
17
18
# 파일 'lib/mongoid/criteria/queryable/aggregable.rb', 줄 16

def 집계 =(value)
  @aggregating = value
end

#파이프라인객체 (읽기 전용)

속성 파이프라인 의 값을 반환합니다.



13
14
15
# 파일 'lib/mongoid/criteria/queryable/aggregable.rb', 줄 13

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

#파이프라인 집계 파이프라인.(애그리게이션 파이프라인) ⇒ 객체 (읽기 전용)



13
# 파일 'lib/mongoid/criteria/queryable/aggregable.rb', 줄 13

attr_reader : 파이프라인

인스턴스 메서드 세부 정보

#집계?true | false

애그리게이션 항목이 집계 상태 로 전환되었나요? 즉, 이 점 에서 허용되는 집계 작업만 가능합니다.

예시:

애그리게이션은 애그리게이션입니까?

aggregable.aggregating?

반환합니다:

  • (true | false)

    집계 가능 항목이 집계 중인 경우.



25
26
27
# 파일 'lib/mongoid/criteria/queryable/aggregable.rb', 줄 25

def 집계?
  !!@aggregating
end

#그룹(작업) ⇒ 애그리게이션 가능

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

예시:

그룹 작업을 상세하게 추가합니다.

aggregable.group(count: { "$sum" => 1 }, max: { "$max" => "likes" })

기호 바로 가기를 사용하여 그룹 작업을 추가합니다.

aggregable.group(:count.sum => 1, :max.max => "likes")

매개변수:

  • 작업 (해시)

    그룹 작업.

반환합니다:



40
41
42
43
44
# 파일 'lib/mongoid/criteria/queryable/aggregable.rb', 줄 40

def 그룹(작업)
  집계(작업) do |파이프라인|
    파이프라인.그룹(작업)
  end
end

#프로젝트(operation = nil) ⇒ 애그리게이션 가능

집계 파이프라인에 프로젝션($project)을 추가합니다.

예시:

파이프라인에 프로젝션을 추가합니다.

aggregable.project(author: 1, name: 0)

매개변수:

  • 작업 (해시) (기본값: nil)

    만들 프로젝션 입니다.

반환합니다:



62
63
64
65
66
# 파일 'lib/mongoid/criteria/queryable/aggregable.rb', 줄 62

def 프로젝트(작업 = nil)
  집계(작업) do |파이프라인|
    파이프라인.프로젝트(작업)
  end
end

#unwind(필드) ⇒ Aggregable

집계 파이프라인에 풀기($unwind)를 추가합니다.

예시:

파이프라인 에 풀기 를 추가합니다.

aggregable.unwind(:field)

매개변수:

  • 필드 (string | 기호)

    해제할 필드 의 이름입니다.

반환합니다:



76
77
78
79
80
# 파일 'lib/mongoid/criteria/queryable/aggregable.rb', 줄 76

def Unwind(필드)
  집계(필드) do |파이프라인|
    파이프라인.Unwind(필드)
  end
end