모듈: Mongoid::Criteria::Modifiable

포함 항목:
Mongoid::Criteria
다음에 정의됨:
lib/mongoid/criteria/modifiable.rb

개요

Mongoid::Criteria용 Mixin 모듈은 기준의 조건에 따라 초기화된 속성으로 새 문서를 빌드 하거나 생성하는 기능 을 추가합니다.

인스턴스 속성 요약 접기

인스턴스 메서드 요약 접기

인스턴스 속성 세부 정보

#create_attrs객체 (읽기 전용)

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


14
15
16
# 파일 'lib/mongoid/criteria/modifiable.rb', 줄 14

def create_attrs
  @create_attrs
end

#create_attrs 문서 생성 시 문서에 추가할 추가 속성입니다.(생성 시 문서에 추가하기 위한 추가 속성) ⇒ 객체 (읽기 전용)

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


14
# 파일 'lib/mongoid/criteria/modifiable.rb', 줄 14

attr_reader :create_attrs

인스턴스 메서드 세부 정보

#build(attrs = {}, &block) ⇒ 문서 라고도 함: new

셀렉터가 지정된 문서 를 작성하고 반환합니다. $in 및 $or 연산과 같은 복잡한 기준은 무시됩니다.

예시:

문서 를 빌드 합니다.

Person.where(:title => "Sir").build

선택기가 무시되도록 빌드합니다.

Person.where(:age.gt => 5).build

반환합니다:

  • (문서)

    비영구 문서 입니다.

[소스 보기]

26
27
28
# 파일 'lib/mongoid/criteria/modifiable.rb', 줄 26

def 빌드(attrs = {}, &차단)
  create_document(:new, attrs, &차단)
end

#create(attrs = {}, &block) ⇒ 문서

셀렉터가 지정된 데이터베이스 에 문서 를 생성하고 반환합니다. $in 및 $or 연산과 같은 복잡한 기준은 무시됩니다.

예시:

문서 를 만듭니다.

Person.where(:title => "Sir").create

선택기를 무시하고 생성합니다.

Person.where(:age.gt => 5).create

반환합니다:

  • (문서)

    새로 생성된 문서 입니다.

[소스 보기]

41
42
43
# 파일 'lib/mongoid/criteria/modifiable.rb', 줄 41

def create(attrs = {}, &차단)
  create_document(:create, attrs, &차단)
end

#create!(attrs = {}, &block) ⇒ 문서

셀렉터가 지정된 데이터베이스 에 문서 를 생성하고 반환합니다. $in 및 $or 연산과 같은 복잡한 기준은 무시됩니다. 유효성 검사 에 실패하면 오류가 발생합니다.

예시:

문서 를 만듭니다.

Person.where(:title => "Sir").create

선택기를 무시하고 생성합니다.

Person.where(:age.gt => 5).create

반환합니다:

  • (문서)

    새로 생성된 문서 입니다.

다음을 발생시킵니다.

[소스 보기]

58
59
60
# 파일 'lib/mongoid/criteria/modifiable.rb', 줄 58

def 생성!(attrs = {}, &차단)
  create_document(:create!, attrs, &차단)
end

#create_with(attrs = {}) ⇒ Mongoid::Criteria

새 문서를 만들 때 사용할 속성을 정의합니다.

이 이후에 메서드 체인에서 'find_or_create_by'가 호출되면 쿼리 의 속성이 이 메서드의 속성을 재정의합니다.

예시:

새 문서 를 만들 때 사용할 속성을 정의합니다.

Person.create_with(job: 'Engineer').find_or_create_by(employer: 'MongoDB')

반환합니다:

[소스 보기]

71
72
73
74
75
76
# 파일 'lib/mongoid/criteria/modifiable.rb', 줄 71

def create_with(attrs = {})
   do
    @create_attrs ||= {}
    @create_attrs.update(attrs)
  end
end

#find_or_create_by(attrs = {}, &block) ⇒ 문서

조건이 주어진 첫 번째 Document 를 찾거나 제공된 조건으로 새 문서 를 만듭니다.

예시:

문서를 찾거나 만듭니다.

Person.find_or_create_by(:attribute => "value")

매개변수:

  • attrs (해시) (기본값: {})

    확인할 속성입니다.

반환합니다:

  • (문서)

    일치하는 문서 또는 새로 생성된 문서 입니다.

[소스 보기]

87
88
89
# 파일 'lib/mongoid/criteria/modifiable.rb', 줄 87

def find_or_create_by(attrs = {}, &차단)
  find_or(:create, attrs, &차단)
end

#find_or_create_by!(attrs = {}, &block) ⇒ 문서

조건이 주어진 첫 번째 Document 를 찾거나 제공된 조건으로 새 문서 를 만듭니다. 유효성 검사 에 실패하면 예외가 발생합니다.

예시:

문서를 찾거나 만듭니다.

Person.find_or_create_by!(:attribute => "value")

매개변수:

  • attrs (해시) (기본값: {})

    확인할 속성입니다.

반환합니다:

  • (문서)

    일치하는 문서 또는 새로 생성된 문서 입니다.

다음을 발생시킵니다.

[소스 보기]

103
104
105
# 파일 'lib/mongoid/criteria/modifiable.rb', 줄 103

def find_or_create_by!(attrs = {}, &차단)
  find_or(:create!, attrs, &차단)
end

#find_or_initialize_by(attrs = {}, &block) ⇒ 문서

조건이 주어진 첫 번째 Document 를 찾거나 제공된 조건으로 새 문서를 초기화합니다.

예시:

문서를 찾거나 초기화합니다.

Person.find_or_initialize_by(:attribute => "value")

매개변수:

  • attrs (해시) (기본값: {})

    확인할 속성입니다.

반환합니다:

  • (문서)

    일치하거나 새로 초기화 문서 입니다.

[소스 보기]

116
117
118
# 파일 'lib/mongoid/criteria/modifiable.rb', 줄 116

def find_or_initialize_by(attrs = {}, &차단)
  find_or(:new, attrs, &차단)
end

#first_or_create(attrs = nil, &block) ⇒ 문서

첫 번째 Document 을(를) 찾거나 제공된 조건과 속성을 사용하여 새 문서 를 만듭니다.

예시:

먼저 또는 문서 를 만듭니다.

Person.where(name: "Jon").first_or_create(attribute: "value")

매개변수:

  • attrs (해시) (기본값: nil)

    추가할 추가 속성입니다.

반환합니다:

  • (문서)

    일치하는 문서 또는 새로 생성된 문서 입니다.

[소스 보기]

129
130
131
# 파일 'lib/mongoid/criteria/modifiable.rb', 줄 129

def first_or_create(attrs = nil, &차단)
  first_or(:create, attrs, &차단)
end

#first_or_create!(attrs = nil, &block) ⇒ 문서

첫 번째 Document 을(를) 찾거나 제공된 조건과 속성을 사용하여 새 문서를 만들고 유효성 검사에 실패하면 오류를 발생시킵니다.

예시:

먼저 또는 문서 를 만듭니다.

Person.where(name: "Jon").first_or_create!(attribute: "value")

매개변수:

  • attrs (해시) (기본값: nil)

    추가할 추가 속성입니다.

반환합니다:

  • (문서)

    일치하는 문서 또는 새로 생성된 문서 입니다.

[소스 보기]

143
144
145
# 파일 'lib/mongoid/criteria/modifiable.rb', 줄 143

def first_or_create!(attrs = nil, &차단)
  first_or(:create!, attrs, &차단)
end

#first_or_initialize(attrs = nil, &block) ⇒ 문서

첫 번째 Document 을(를) 찾거나 제공된 조건과 속성을 사용하여 새 문서 를 초기화합니다.

예시:

문서를 먼저 또는 초기화합니다.

Person.where(name: "Jon").first_or_initialize(attribute: "value")

매개변수:

  • attrs (해시) (기본값: nil)

    추가할 추가 속성입니다.

반환합니다:

  • (문서)

    일치하거나 새로 초기화 문서 입니다.

[소스 보기]

156
157
158
# 파일 'lib/mongoid/criteria/modifiable.rb', 줄 156

def first_or_initialize(attrs = nil, &차단)
  first_or(:new, attrs, &차단)
end