모듈: Mongoid::Findable
- 확장자:
- 전달 가능
- 다음에 정의됨:
- lib/mongoid/findable.rb
개요
이 모듈은 클래스 수준에서 문서를 끊는 finder 메서드를 정의합니다.
인스턴스 메서드 요약 접기
-
#any? ⇒ true | false
기준에 문서가 있으면 true를 반환합니다.
-
#count ⇒ Integer
데이터베이스 의 레코드 수를 반환합니다.
-
#비어 있나요? ⇒ true | false
개수가 0이면 true를 반환합니다.
-
#추정 개수 ⇒ 정수
데이터베이스 의 예상 레코드 수를 반환합니다.
-
#존재합니까?(id_or_conditions = :none) ⇒ true | false
제공된 인수를 기반으로 데이터베이스 에 문서 가 있는 경우 true를 반환합니다.
-
#find(*args, &block) ⇒ 문서 | Array<Document> | nil
_id 값으로
Document또는 여러 문서를 찾습니다. -
#find_by(attrs = {}) {|result| ... } ⇒ 문서 | nil
주어진 조건에서 첫 번째
Document를 찾습니다. -
#find_by!(attrs = {}) {|result| ... } ⇒ 문서
주어진 조건에서 첫 번째
Document를 찾거나 Mongoid::Errors::DocumentNotFound를 발생시킵니다. -
#first(limit = nil) ⇒ 문서 (동의어: #one)
주어진 조건에서 첫 번째
Document를 찾습니다. -
#last(limit = nil) ⇒ Document
주어진 조건에서 마지막
Document를 찾습니다. -
#많음? ⇒ true | false
기준에 둘 이상의 문서 있는 경우 true를 반환합니다.
-
하나? ⇒ true | false
기준에 문서 하나만 있는 경우 true를 반환합니다.
인스턴스 메서드 세부 정보
#any? ⇒ true | false
기준에 문서가 있으면 true를 반환합니다.
124 125 126 |
# 파일 'lib/mongoid/findable.rb', 124줄 def 어떤? limit(1).카운트 > 0 end |
#count ⇒ Integer
데이터베이스 의 레코드 수를 반환합니다. 조건을 지정하려면 where를 사용하세요.
73 74 75 |
# 파일 'lib/mongoid/findable.rb', 73줄 def 카운트 with_default_scope.카운트 end |
#비어 있나요? ⇒ true | false
개수가 0이면 true를 반환합니다.
93 94 95 |
# 파일 'lib/mongoid/findable.rb', 93줄 def 비어 있나요? 카운트 == 0 end |
#추정 개수 ⇒ 정수
데이터베이스 의 예상 레코드 수를 반환합니다.
83 84 85 |
# 파일 'lib/mongoid/findable.rb', 83줄 def 예상 개수 with_default_scope.예상 개수 end |
#존재합니까?(id_or_conditions = :none) ⇒ true | false
제공된 인수를 기반으로 데이터베이스 에 문서 가 있는 경우 true를 반환합니다.
114 115 116 |
# 파일 'lib/mongoid/findable.rb', 114줄 def 존재합니까?(id_or_conditions = : none) with_default_scope.존재합니까?(id_or_conditions) end |
#find(*args, &block) ⇒ 문서 | Array<문서> | nil
각 인수는 개별 ID, ID 배열 또는 중첩 배열일 수 있습니다. 각 배열이 평면화됩니다.
_id 값으로 Document 또는 여러 문서를 찾습니다.
배열이 아닌 단일 인수가 제공되면 이 인수는 찾을 문서 의 _id 값으로 해석됩니다. 데이터베이스 에 일치하는 문서 가 있는 경우 이 문서 가 반환됩니다. 그렇지 않고 raise_not_found_error Mongoid 구성 옵션이 참이면( 기본값) Errors::DocumentNotFound 이 발생하고, raise_not_found_error 이 거짓이면 find 가 nil 을 반환합니다.
인수가 여러 개 지정되거나 배열 인수가 지정되면 배열 이 평면화되고 각 배열 요소는 찾을 문서 의 _id 값으로 해석됩니다. 그런 다음 조회 는 제공된 _id 값을 가진 모든 문서를 조회하려고 시도합니다. 반환 값은 찾은 문서의 배열 입니다. 각 문서 는 _id 가 find 에 대한 인수에 여러 번 제공되더라도 반환된 배열 에 한 번 나타납니다. raise_not_found_error Mongoid 구성 옵션이 진실한 경우, 지정된 _id 중 하나라도 데이터베이스 에서 발견되지 않으면 Errors::DocumentNotFound 예외가 발생합니다. raise_not_found_error Mongoid 구성 옵션이 잘못된 경우 발견된 문서만 반환됩니다. 문서를 찾을 수 없는 경우 반환 값은 빈 배열 입니다.
MongoDB 는 _id 필드 가 배열 이 되는 것을 허용하지 않습니다.
인수는 _id 필드 에 선언된 유형에 따라 관례적인 Mongoid 유형 변환을 거칩니다. 기본값 으로 _id 필드 는 BSON::ObjectId 입니다. 이렇게 하면 문자열이 find 로 전달되고 문자열이 쿼리 구성 중에 BSON::ObjectId 인스턴스로 투명하게 변환됩니다.
이 메서드에 차단 지정되면 Enumerable#find 에 위임하고 차단 진실한 값을 반환하는 현재 Criteria 객체 에서 찾은 문서 중 첫 번째 문서 반환합니다. 차단 과 ID가 모두 제공되면 차단 무시되고 지정된 ID에 대한 문서가 반환됩니다. 차단 과 Proc가 제공되면 메서드는 Enumerable#find 에 위임하고 proc을 기본값 으로 사용합니다.
find 메서드는 모델 클래스에 정의된 기본값 범위(있는 경우)를 고려합니다.
197 198 199 200 201 202 203 204 |
# 파일 'lib/mongoid/findable.rb', 197줄 def 찾기(*args, &차단) empty_or_proc = args.비어 있나요? || (args.분량 == 1 && args.first.is_a?(Proc)) 만약 block_given? && empty_or_proc with_default_scope.찾기(*args, &차단) other with_default_scope.찾기(*args) end end |
#find_by(attrs = {}) {|result| ... } ⇒ 문서 | nil
주어진 조건에서 첫 번째 Document 를 찾습니다. 일치하는 문서를 찾을 수 없고 Mongoid.raise_not_Found_error가 참이면 Mongoid::Errors::DocumentNotFound가 발생하고, 그렇지 않으면 null nil을 반환합니다.
그리고 Mongoid.raise_not_Found_error가 참입니다.
220 221 222 223 224 225 226 |
# 파일 'lib/mongoid/findable.rb', 220줄 def find_by(attrs = {}) 결과 = 위치(attrs).find_first 올리다(오류::DocumentNotFound.신규(self, attrs)) 만약 결과.nil? && 몽고이드.raise_not_Found_error yield(결과) 만약 결과 && block_given? 결과 end |
#find_by!(attrs = {}) {|result| ... } ⇒ 문서
주어진 조건에서 첫 번째 Document 를 찾거나 Mongoid::Errors::DocumentNotFound를 발생시킵니다.
239 240 241 242 243 244 245 |
# 파일 'lib/mongoid/findable.rb', 239줄 def find_by!(attrs = {}) 결과 = 위치(attrs).find_first 올리다(오류::DocumentNotFound.신규(self, attrs)) 하지 않는 한 결과 yield(결과) 만약 결과 && block_given? 결과 end |
#first(limit = nil) ⇒ Document 라고도 함: one
주어진 조건에서 첫 번째 Document 를 찾습니다.
255 256 257 |
# 파일 'lib/mongoid/findable.rb', 255줄 def first(limit = nil) with_default_scope.first(limit) end |
#last(limit = nil) ⇒ Document
주어진 조건에서 마지막 Document 를 찾습니다.
268 269 270 |
# 파일 'lib/mongoid/findable.rb', 268줄 def last(limit = nil) with_default_scope.last(limit) end |
#많음? ⇒ true | false
기준에 둘 이상의 문서 있는 경우 true를 반환합니다.
144 145 146 |
# 파일 'lib/mongoid/findable.rb', 144줄 def 많은? limit(2).카운트 > 1 end |
하나? ⇒ true | false
기준에 문서 하나만 있는 경우 true를 반환합니다.
134 135 136 |
# 파일 'lib/mongoid/findable.rb', 134줄 def 하나? limit(2).카운트 == 1 end |