모듈: Mongoid::Criteria::Findable
- 포함 항목:
- Mongoid::Criteria
- 다음에 정의됨:
- lib/mongoid/criteria/findable.rb
개요
Mongoid::Criteria에 포함된 Mixin 모듈은 ID로 문서 를 찾는 기능 을 추가합니다.
인스턴스 메서드 요약 접기
-
#execution_or_raise(id, multi) ⇒ 문서 | Array<Document>
기준을 실행하거나 문서를 찾을 수 없는 경우 오류를 발생시킵니다.
-
#find(*args) ⇒ 문서 | Array<Document>
제공된 ID에 대한 기준에서 일치하는 문서를 찾습니다.
-
#for_ids(ids) ⇒ 기준
일치해야 하는 ID를 지정하는 기준을
Criteria
에 추가합니다. -
#multiple_from_db(ids) ⇒ Array<Document>
ID 맵에서 문서를 가져오고, 문서를 찾을 수 없는 경우 데이터베이스를 조회합니다.
인스턴스 메서드 세부 정보
#execution_or_raise(id, multi) ⇒ 문서 | 배열<문서>
기준을 실행하거나 문서를 찾을 수 없는 경우 오류를 발생시킵니다.
23 24 25 26 27 |
# 파일 'lib/mongoid/criteria/findable.rb', 줄 23 def execution_or_raise(ID, 멀티) 결과 = multiple_from_db(ID) check_for_missing_documents!(결과, ID) 멀티 ? 결과 : 결과.first end |
#find(*args) ⇒ 문서 | 배열<문서>
참고:
각 인수는 개별 ID, ID 배열 또는 중첩 배열일 수 있습니다. 각 배열이 평면화됩니다.
제공된 ID에 대한 기준에서 일치하는 문서를 찾습니다.
43 44 45 46 47 |
# 파일 'lib/mongoid/criteria/findable.rb', 줄 43 def 찾기(*args) ID = prepare_ids_for_find(args) raise_invalid 만약 ID.어떤?(&:nil?) for_ids(ID).execution_or_raise(ID, multi_args?(args)) end |
#for_ids(ids) ⇒ 기준
일치해야 하는 ID를 지정하는 기준을 Criteria
에 추가합니다.
60 61 62 63 64 65 66 67 |
# 파일 'lib/mongoid/criteria/findable.rb', 줄 60 def for_ids(ID) ID = mongoize_ids(ID) 만약 ID.size > 1 send(id_finder, { _id: { "$in" => ID }}) other send(id_finder, { _id: ID.first }) end end |
#multiple_from_db(ids) ⇒ Array<Document>
ID 맵에서 문서를 가져오고, 문서를 찾을 수 없는 경우 데이터베이스를 조회합니다.
78 79 80 81 82 |
# 파일 'lib/mongoid/criteria/findable.rb', 줄 78 def multiple_from_db(ID) 반환 항목 만약 ID = mongoize_ids(ID) ID.비어 있나요? ? [] : from_database(ID) end |