클래스: Mongoid::Criteria
- 상속:
-
객체
- 객체
- Mongoid::Criteria
- 다음을 포함합니다.
- Enumerable, Inspectable, Mongoid::Clients::Options, Mongoid::Clients::Sessions, Contextual, Findable, Inclusable, Marshalable, Modifiable, Options, Queryable, Scopable
- 다음에 정의됨:
- lib/mongoid/criteria.rb,
lib/mongoid/criteria/options.rb,
lib/mongoid/criteria/findable.rb,
lib/mongoid/criteria/scopable.rb,
lib/mongoid/criteria/queryable.rb,
lib/mongoid/criteria/inclusable.rb,
lib/mongoid/criteria/modifiable.rb,
lib/mongoid/criteria/permission.rb,
lib/mongoid/criteria/translator.rb,
lib/mongoid/criteria/marshalable.rb,
lib/mongoid/criteria/queryable/key.rb,
lib/mongoid/criteria/queryable/smash.rb,
lib/mongoid/criteria/queryable/options.rb,
lib/mongoid/criteria/queryable/optional.rb,
lib/mongoid/criteria/queryable/ 파이프라인.rb,
lib/mongoid/criteria/queryable/selector.rb,
lib/mongoid/criteria/queryable/storable.rb,
lib/mongoid/criteria/queryable/macroable.rb,
lib/mongoid/criteria/queryable/mergeable.rb,
lib/mongoid/criteria/queryable/aggregable.rb,
lib/mongoid/criteria/queryable/expandable.rb,
lib/mongoid/criteria/queryable/selectable.rb,
lib/mongoid/criteria/queryable/extensions/ 설정하다.rb,
lib/mongoid/criteria/queryable/extensions/date.rb,
lib/mongoid/criteria/queryable/extensions/hash.rb,
lib/mongoid/criteria/queryable/extensions/time.rb,
lib/mongoid/criteria/queryable/extensions/ 배열.rb,
lib/mongoid/criteria/queryable/extensions/ 범위.rb,
lib/mongoid/criteria/queryable/extensions/ 객체.rb,
lib/mongoid/criteria/queryable/extensions/regexp.rb,
lib/mongoid/criteria/queryable/extensions/string.rb,
lib/mongoid/criteria/queryable/extensions/symbol.rb,
lib/mongoid/criteria/queryable/extensions/boolean.rb,
lib/mongoid/criteria/queryable/extensions/numeric.rb,
lib/mongoid/criteria/queryable/extensions/date_time.rb,
lib/mongoid/criteria/queryable/extensions/nil_class.rb,
lib/mongoid/criteria/queryable/extensions/big_decimal.rb,
lib/mongoid/criteria/queryable/extensions/time_with_zone.rb
개요
Criteria 클래스는 Mongoid가 데이터베이스 에서 객체를 조회 하는 데 필요한 핵심 객체 입니다. Ruby 운전자 의 Mongo::Collection 에 전달되는 선택기와 옵션 인수를 기본적으로 설정하는 것은 DSL입니다. Criteria 의 각 메서드는 자체를 반환하며 데이터베이스 에 대해 실행할 수 있는 읽기 가능한 기준을 만들기 위해 연결할 수 있습니다.
네임스페이스 아래에 정의됨
모듈: 찾기 가능, 포함 가능 , 마셜 가능, 수정 가능 , 옵션, 권한, 쿼리 가능 , 범위 가능, 번역기
상수 요약 접기
- ALLOWED_FROM_HASH_METHODS =
임의의 메서드 실행을 방지하기 위해 from_hash에 허용된 메서드. 쿼리 작성 메서드만 허용되고 실행 또는 수정 메서드는 허용되지 않습니다.
%i[ 모두 all_in all_of 개인정보 정책에 any_in any_of asc ascending batch_size between 데이터 정렬 comment cursor_type desc descending elem_match eq 이 존재합니다 Extras geo_spatial 그룹 gt gte hint 인 포함 limit lt lte max_distance max_scan max_time_ms merge mod ne 가깝다 near_sphere nin no_timeout none none_of 또한 not not_in 오프셋 제한하기 or 주문 order_by 프로젝트 원시 읽기 재정렬 범위 지정 건너뛰기 슬라이스 스냅샷 text_search 유형 범위가 지정되지 않은 Unwind 위치 with_size with_type 미포함: ].동결
- 확인 =
메서드가 누락되었는지 확인하는 데 사용되는 정적 배열 - 한 번만 인스턴스화하면 됩니다.
[]
인스턴스 속성 요약 접기
-
#_raw_results ⇒ nil | Hash
비공개
지정된 기준 객체 에서 'raw' 플래그를 가져오거나 설정하기 위한 내부 헬퍼입니다.
-
#연관 관계 ⇒ 객체
속성 연관 관계의 값을 반환합니다.
-
#문서 ⇒ Array<Document>
내장된 기준에서 문서를 가져옵니다.
-
#embedded ⇒ 객체
포함된 속성의 값을 반환합니다.
-
#klass ⇒ 객체
속성 klass의 값을 반환합니다.
-
#parent_document ⇒ 객체
parent_document 속성의 값을 반환합니다.
수정 가능에서 포함된 속성
#create_attrs, #create_attrs 생성 시 문서에 추가할 추가 속성입니다.
Queryable에 포함된 속성
#aliases, #aliases 별칭입니다., #serializers, #serializers 직렬 변환기입니다.
Queryable::Optional에 포함된 속성
Queryable::Aggregable에 포함된 속성
#aggregating, #aggregating 애그리게이션 여부에 대한 플래그입니다., # 파이프라인, # 파이프라인 집계 파이프라인 입니다.
Queryable::Mergeable에 포함된 속성
#strategy, #strategy 현재 전략의 이름입니다.
클래스 메서드 요약 접기
-
.from_hash(해시) ⇒ 기준
사용 중단
더 이상 사용되지 않습니다.
이 메서드는 더 이상 사용되지 않으며 향후 출시하다 에서 제거될 예정입니다.
인스턴스 메서드 요약 접기
-
#==(기타) ⇒ true | false
제공된
Enumerable또는Criteria가 이Criteria의 결과 또는 기준 자체와 같으면 true를 반환합니다. - #_enumerable_find ⇒ Object 비공개
- #_findable_find ⇒ 객체 비공개
-
#as_json(options = nil) ⇒ String
기준을 JSON 으로 올바르게 다시 가져오는 데 필요합니다.
-
#embedded? ⇒ true | false
내장된 문서의 기준은 무엇입니까?
-
#empty_and_chainable? ⇒ true | false
기준이 비어 있지만 연결 가능한 기준인가요?
-
#extract_id ⇒ 객체
제공된 기준에서 단일 ID를 추출합니다.
-
#extras(extras) ⇒ Criteria
Criteria에 드라이버에 맞는 형식으로 Ruby 드라이버에 전달할 추가 옵션을 지정하는 기준을 추가합니다. -
#field_list ⇒ Array<String>
포함된 필드 목록을 가져옵니다.
-
#find(*args) {|Object| ... } ⇒ 문서 | Array<Document> | nil
제공된 _id 값이 주어진 경우 하나 이상의 문서를 찾거나, 필요한 경우 로드한 후 애플리케이션 프로세스 공간에서 현재 범위에 있는 문서를 필터링합니다.
- #for_js(JavaScript, 범위 = {}) ⇒ 기준 사용 중단 더 이상 사용되지 않습니다.
-
#freeze ⇒ Criteria
기준을 동결할 때는 먼저 컨텍스트를 초기화해야 하며, 그렇지 않으면 반복 시도 시 컨텍스트 설정으로 인해 런타임 오류가 발생합니다.
-
#initialize(klass) ⇒ Criteria
생성자
새 기준을 초기화합니다.
-
#merge(기타) ⇒ 기준
다른 객체 를 이
Criteria와 병합하고 새 기준을 반환합니다. -
#병합합니다!(기타) ⇒ 기준
다른 기준을 이 기준에 병합합니다.
-
#none ⇒ Criteria
항상 0개의 결과를 포함하고 데이터베이스 에 도달하지 않는 기준을 반환합니다.
-
#only(*args) ⇒ Criteria
필드에 _type을 포함하도록 재정의되었습니다.
- #raise_eager_error(is_eager_load, klass, 관계) ⇒ 객체
-
#raw(raw_results = true, typed: nil) ⇒ 기준
'원시' 설정이 지정된 값으로 설정하다 현재 기준 객체 의 복제본을 생성합니다.
-
#raw_results? ⇒ true | false
'이 기준 객체 현재 원시 모드 에 있나요?'라는 질문에 답변하는 술어입니다. (raw 모드 에 대한 설명은 #raw를 참조하세요.)
-
#읽기(값 = nil) ⇒ 기준
기준에 대한 읽기 설정 (read preference) 을 설정합니다.
-
#respond_to?(name, include_private = false) ⇒ true | false
기준이 지정된 메서드에 응답하면 true를 반환합니다.
- #to_criteria ⇒ Criteria 사용 중단 더 이상 사용되지 않습니다.
-
#to_proc ⇒ Proc
기준을 절차로 변환합니다.
-
#type(types) ⇒ 기준
일치해야 하는 유형 또는 유형의 배열을 지정하는 기준을
Criteria에 추가합니다. -
#typecast_results? ⇒ true | false
이 기준 객체 반환하는 결과를 타입캐스트해야 하나요?라는 질문에 답변하는 술어입니다. (이에 대한 설명은 #raw를 참조하세요.) 답변 ? 인스턴스화된 문서 객체가 반환되면 항상 타입캐스트되기 때문에 true입니다.
-
#where(*args) ⇒ Criteria
이는 대부분의 MongoDB 쿼리의 일반적인 진입 점 입니다.
-
#without(*args) ⇒ Criteria
필드에서 _id 제외하도록 재정의되었습니다.
-
#without_options ⇒ 기준
옵션이 없는 이 기준의 버전을 가져오세요.
Mongoid::Clients::Sessions에 포함된 메서드
Mongoid::Clients::Options에 포함된 메서드
# 컬렉션, #collection_name, #mongo_client, #persistence_context, #persistence_context?, #with
Scopable에 포함된 메서드
#apply_default_scope, #apply_scope, #remove_scoping, #scoped, #scoped?, #scoping_options, #scoping_options=, #unscoped, #unscoped?, #with_default_scope
수정 가능에 포함된 메서드
# 빌드, #create, #create!, #create_with, #find_or_create_by, #find_or_create_by!, #find_or_initialize_by, #first_or_create, #first_or_create!, #first_or_initialize
마셜러블에 포함된 메서드
Inclusable에 포함된 메서드
#eager_load, #includes, #inclusions, #inclusions=, #use_lookup?
Findable에 포함된 메서드
#execute_or_raise, #for_ids, #multiple_from_db
Queryable에 포함된 메서드
Queryable::Optional에 포함된 메서드
#ascending, #batch_size, #collation, #comment, #cursor_type, #descending, forwardables, #hint, #limit, #max_scan, #max_time_ms, #no_timeout, #order_by, #reorder, #skip, #slice, # 스냅샷
Queryable::Macroable에 포함된 메서드
Selectable에 포함된 메서드
Queryable::Aggregable에 포함된 메서드
#aggregating?, #group, #project, #unwind
Queryable::Mergeable에 포함된 메서드
#and_with_operator, #intersect, #override, #reset_strategies!, #union
Queryable::Storable에 포함된 메서드
#add_field_expression, #add_logical_operator_expression, #add_one_expression, #add_operator_expression
Contextual에 포함된 메서드
생성자 세부 정보
#initialize(klass) ⇒ Criteria
새 기준을 초기화합니다.
323 324 325 326 327 328 |
# 파일 'lib/mongoid/criteria.rb', 323줄 def 초기화(class) @klass = class @embedded = nil @none = nil class ? super(class.aliased_fields, class.필드, class.관계, class.aliased_associations) : super({}, {}, {}, {}) end |
동적 메서드 처리
이 클래스는 메서드 누락 메서드를 통해 동적 메서드를 처리합니다.
#메서드 누락 ⇒ 객체 (비공개)
Document 의 for 클래스 메서드에서 Criteria 범위를 함께 연결하는 데 사용됩니다.
619 620 621 622 623 624 625 626 627 628 629 |
# 파일 'lib/mongoid/criteria.rb', 619줄 ruby2_keywords def Method_missing(이름, *args, &차단) 만약 class.response_to?(이름) class.send(:with_scope, self) do class.send(이름, *args, &차단) end elsif 확인.response_to?(이름) 항목.send(이름, *args, &차단) other super end end |
인스턴스 속성 세부 정보
#_raw_results ⇒ nil | Hash
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
지정된 기준 객체 에서 'raw' 플래그를 가져오거나 설정하기 위한 내부 헬퍼입니다.
244 245 246 |
# 파일 'lib/mongoid/criteria.rb', 244줄 def _raw_results @_raw_results end |
#연관 관계 ⇒ 객체
속성 연관 관계의 값을 반환합니다.
100 101 102 |
# 파일 'lib/mongoid/criteria.rb', 100줄 def 연관 관계 @association end |
#documents ⇒ Array<Document>
내장된 기준에서 문서를 가져옵니다.
183 184 185 |
# 파일 'lib/mongoid/criteria.rb', 183줄 def 문서 @documents ||= [] end |
#embedded ⇒ 객체
포함된 속성의 값을 반환합니다.
100 101 102 |
# 파일 'lib/mongoid/criteria.rb', 100줄 def @embedded end |
#klass ⇒ Object
속성 klass의 값을 반환합니다.
100 101 102 |
# 파일 'lib/mongoid/criteria.rb', 100줄 def class @klass end |
#parent_document ⇒ 객체
parent_document 속성의 값을 반환합니다.
100 101 102 |
# 파일 'lib/mongoid/criteria.rb', 100줄 def parent_document @parent_document end |
클래스 메서드 세부 정보
.from_hash(해시) ⇒ 기준
이 메서드는 더 이상 사용되지 않으며 향후 출시하다 에서 제거될 예정입니다.
지정된 해시를 기준으로 변환합니다. 기준 객체 의 허용된 메서드에 해당해야 하는 해시의 각 키를 반복합니다. 해시에는 기준에 대한 model 클래스를 지정하는 "klass" 키가 포함될 수 있습니다.
81 82 83 84 85 86 87 88 89 90 91 92 |
# 파일 'lib/mongoid/criteria.rb', 81줄 def from_hash(해시) 기준 = 기준.신규(해시.삭제(:klass) || 해시.삭제('klass')) 해시.각각의 쌍 do |메서드, args| Method_sym = 메서드.to_sym 하지 않는 한 ALLOWED_FROM_HASH_METHODS.포함?(Method_sym) 올리다 ArgumentError, "'#{메서드}' 메서드는 from_hash에서 허용되지 않습니다" end 기준 = 기준.public_send(Method_sym, args) end 기준 end |
인스턴스 메서드 세부 정보
#==(기타) ⇒ true | false
이렇게 하면 열거형이 전달되는 경우 호출될 때 데이터베이스 가 강제로 로드됩니다.
제공된 Enumerable 또는 Criteria 가 이 Criteria 의 결과 또는 기준 자체와 같으면 true를 반환합니다.
110 111 112 113 114 |
# 파일 'lib/mongoid/criteria.rb', 110줄 def ==(기타) 반환 super 만약 기타.response_to?(:selector) 항목 == 기타 end |
#_enumerable_find ⇒ Object
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
24 |
# 파일 'lib/mongoid/criteria.rb', 24줄 별명 _enumerable_find 찾기 |
#_findable_find ⇒ 객체
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
31 |
# 파일 'lib/mongoid/criteria.rb', 31줄 별명 _findable_find 찾기 |
#as_json(options = nil) ⇒ String
기준을 JSON으로 올바르게 다시 가져오는 데 필요합니다.
173 174 175 |
# 파일 'lib/mongoid/criteria.rb', 173줄 def as_json( = nil) 항목.as_json() end |
#embedded? ⇒ true | false
내장된 문서의 기준은 무엇인가요?
202 203 204 |
# 파일 'lib/mongoid/criteria.rb', 202줄 def !!@embedded end |
#empty_and_chainable? ⇒ true | false
기준이 비어 있지만 연결 가능한 기준인가요?
394 395 396 |
# 파일 'lib/mongoid/criteria.rb', 394줄 def empty_and_chainable? !!@none end |
#extract_id ⇒ 객체
제공된 기준에서 단일 ID를 추출합니다. $and 쿼리 또는 스트레이트 _id 쿼리에 있을 수 있습니다.
272 273 274 |
# 파일 'lib/mongoid/criteria.rb', 272줄 def extract_id 선택기['_id'] || 선택기[:_id] || 선택기['ID'] || 선택기[:id] end |
#extras(extras) ⇒ Criteria
Criteria 에 드라이버에 맞는 형식으로 Ruby 드라이버에 전달할 추가 옵션을 지정하는 기준을 추가합니다.
criteria.extras(:limit => 20, :skip => 40)
285 286 287 288 289 |
# 파일 'lib/mongoid/criteria.rb', 285줄 def Extras(Extras) crit = 복제 crit..병합!(Extras) crit end |
#field_list ⇒ Array<String>
포함된 필드 목록을 가져옵니다.
297 298 299 300 301 302 303 |
# 파일 'lib/mongoid/criteria.rb', 297줄 def field_list 만약 [:fields] [:fields].키.거부 { |키| 키 == class.판별자_키 } other [] end end |
#find(*args) {|Object| ... } ⇒ Document | Array<Document> | nil
각 인수는 개별 ID, ID 배열 또는 중첩 배열일 수 있습니다. 각 배열이 평면화됩니다.
제공된 _id 값이 주어진 경우 하나 이상의 문서를 찾거나, 필요한 경우 로드한 후 애플리케이션 프로세스 공간에서 현재 범위에 있는 문서를 필터링합니다.
이 메서드에 차단 지정되지 않은 경우 Findable#find 에 위임하고 제공된 _id 값에 대해 하나 이상의 문서를 찾습니다.
이 메서드에 차단 지정되면 Enumerable#find 에 위임하고 차단 진실한 값을 반환하는 현재 Criteria 객체 에서 찾은 document 중 첫 번째 document 반환합니다.
Enumerable 의 "기본값 proc" 인수는 Mongoid에서 특별히 취급하지 않는다는 점에 유의 Findable vs Enumerable 에 위임하는 결정은 find 에 블록이 전달되는지 여부에만 기반합니다.
157 158 159 160 161 162 163 |
# 파일 'lib/mongoid/criteria.rb', 157줄 def 찾기(*args, &차단) 만약 block_given? _enumerable_find(*args, &차단) other _findable_find(*args) end end |
#for_js(JavaScript, 범위 = {}) ⇒ 기준
제공된 JavaScript 및 범위로 document를 찾습니다. $where를 사용하지만 쿼리 에 순수 string 대신 코드 객체 전달한다는 점에서 Criteria#where 와 다릅니다. Javascript 삽입 공격에 안전합니다.
553 554 555 556 557 558 559 560 561 |
# 파일 'lib/mongoid/criteria.rb', 553줄 def for_js(JavaScript, 범위 = {}) 코드 = 만약 범위.비어 있나요? # MongoDB 4.4현재 $where에 대해서는 CodeWithScope가 지원되지 않습니다. BSON::코드.신규(JavaScript) other BSON::CodeWithScope.신규(JavaScript, 범위) end js_query(코드) end |
#freeze ⇒ Criteria
기준을 동결할 때는 먼저 컨텍스트를 초기화해야 하며, 그렇지 않으면 반복 시도 시 컨텍스트 설정으로 인해 런타임 오류가 발생합니다.
313 314 315 |
# 파일 'lib/mongoid/criteria.rb', 313줄 def 동결 컨텍스트 개인정보 정책에 포함 개인정보 정책에 super end |
#merge(기타) ⇒ 기준
다른 객체 를 이 Criteria 와 병합하고 새 기준을 반환합니다. 다른 객체 는 Criteria 또는 Hash 일 수 있습니다. 이는 체인 범위 상황이 필요할 수 있는 여러 범위를 함께 결합하는 데 사용됩니다.
351 352 353 354 355 |
# 파일 'lib/mongoid/criteria.rb', 351줄 def merge(기타) crit = 복제 crit.병합!(기타) crit end |
#병합합니다!(기타) ⇒ 기준
다른 기준을 이 기준에 병합합니다.
365 366 367 368 369 370 371 372 373 374 375 |
# 파일 'lib/mongoid/criteria.rb', 365줄 def 병합!(기타) 기타 = self.클래스.from_hash(기타) 만약 기타.is_a?(해시) 선택기.병합!(기타.선택기) .병합!(기타.) self.문서 = 기타.문서.dup 하지 않는 한 기타.문서.비어 있나요? self. = 기타. self.포함 = (포함 + 기타.포함).uniq self._raw_results = _raw_results || 기타._raw_results @use_lookup ||= 기타.use_lookup? self end |
#없음 ⇒ 기준
항상 0개의 결과를 포함하고 데이터베이스 에 도달하지 않는 기준을 반환합니다.
384 385 386 |
# 파일 'lib/mongoid/criteria.rb', 384줄 def none @none = true 개인정보 정책에 self end |
#only(*args) ⇒ Criteria
필드에 _type을 포함하도록 재정의되었습니다.
406 407 408 409 410 411 412 413 |
# 파일 'lib/mongoid/criteria.rb', 406줄 def 제한하기(*args) args = args.flatten 반환 복제 만약 args.비어 있나요? args.unshift(:_id) 만약 (args & 필드::IDS).비어 있나요? args.push(class.판별자_키.to_sym) 만약 class.유전? super end |
#raise_eager_error(is_eager_load, klass, 관계) ⇒ 객체
115 116 117 118 119 120 121 |
# 파일 'lib/mongoid/criteria/inclusable.rb', 줄 115 def raise_eager_error(is_eager_load, class, 관계) 만약 is_eager_load 올리다 ArgumentError, " 선행로딩은 #{klass}의 연결이름인 인수만 지원합니다. end 올리다 오류::유효하지 않은 포함.신규(class, [ 관계 ]) end |
#raw(raw_results = true, typed: nil) ⇒ 기준
'원시' 설정이 지정된 값으로 설정하다 현재 기준 객체 의 복제본을 생성합니다. 기준을 '원시'로 설정하다 모든 결과가 원시 해시로 반환됩니다. typed 이(가) 참이면 해시의 값은 해당하는 필드에 따라 유형 변환됩니다.
"raw"가 설정하다 되지 않은 경우(또는 raw_results 가 false인 경우) 기준은 모든 결과를 인스턴스화된 document 인스턴스로 반환합니다.
224 225 226 227 228 229 230 231 232 233 234 |
# 파일 'lib/mongoid/criteria.rb', 224줄 def 원시(raw_results = true, 입력: nil) # 입력된 값의 기본값 raw_results가 false일 때 true이고, false일 때 false입니다. # raw_results가 참입니다. typed = !raw_results 만약 typed.nil? 올리다 ArgumentError, '인스턴스화된 결과는typecast여야 합니다. ' 만약 !typed && !raw_results 복제.탭 do |기준| 기준._raw_results = { 원시: raw_results, 입력: typed } end end |
#raw_results? ⇒ true | false
'이 기준 객체 현재 원시 모드 에 있나요?'라는 질문에 답변하는 술어입니다. (raw 모드 에 대한 설명은 #raw 를 참조하세요.)
250 251 252 |
# 파일 'lib/mongoid/criteria.rb', 250줄 def raw_results? _raw_results && _raw_results[:raw] end |
#읽기(값 = nil) ⇒ 기준
기준에 대한 읽기 설정 (read preference) 을 설정합니다.
423 424 425 426 427 |
# 파일 'lib/mongoid/criteria.rb', 423줄 def 읽기(value = nil) 복제.탭 do |기준| 기준..병합!(읽기: value) end end |
#respond_to?(name, include_private = false) ⇒ true | false
기준이 지정된 메서드에 응답하면 true를 반환합니다.
451 452 453 |
# 파일 'lib/mongoid/criteria.rb', 451줄 def response_to?(이름, include_private = 거짓) super || class.response_to?(이름) || 확인.response_to?(이름, include_private) end |
#to_criteria ⇒ Criteria
기준에 병합하려는 객체에 대한 편의를 제공합니다.
464 465 466 |
# 파일 'lib/mongoid/criteria.rb', 464줄 def to_criteria self end |
#to_proc ⇒ proc
기준을 절차로 변환합니다.
475 476 477 |
# 파일 'lib/mongoid/criteria.rb', 475줄 def to_proc -> { self } end |
#type(types) ⇒ 기준
일치해야 하는 유형 또는 유형의 배열을 지정하는 기준을 Criteria 에 추가합니다.
489 490 491 |
# 파일 'lib/mongoid/criteria.rb', 489줄 def 유형(유형) any_in(판별자_키.to_sym => 배열(유형)) end |
#typecast_results? ⇒ true | false
이 기준 객체 반환하는 결과를 타입캐스트해야 하나요?라는 질문에 답변하는 술어입니다. (이에 대한 설명은 #raw를 참조하세요.) 답변 ? 인스턴스화된 문서 객체가 반환되면 항상 타입캐스트되기 때문에 true입니다.
261 262 263 |
# 파일 'lib/mongoid/criteria.rb', 261줄 def typecast_results? _raw_results && _raw_results[:typed] end |
#where(*args) ⇒ Criteria
이는 대부분의 MongoDB 쿼리의 일반적인 진입점입니다. 이렇게 하면 표준 필드인 값 선택, 해시 메서드를 사용한 확장 선택, string 이 제공되는 경우 $where 선택이 생성됩니다.
510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 |
# 파일 'lib/mongoid/criteria.rb', 510줄 def 위치(*args) # 역사적으로 이 메서드에는 정확히 하나의 인수가 필요했습니다. # https://jira.mongodb.org/browse/MONGOID-4804 기준 또한 다음을 허용합니다. # zero arguments. # 슈퍼가 호출하는 기본 where 구현 다음을 지원합니다. # 인수의 개수에 상관없이, 현재로서는 여러 개의 인수를 허용하지 않습니다. 이 메서드를 통해 인수를 #개. 이 API는 다음에서 재고할 수 있습니다. # future. 올리다 ArgumentError, "Criteria#where 에는 0개 또는 1개의 인수가 필요합니다 (#{args.length})" 만약 args.분량 > 1 만약 args.분량 == 1 표현식 = args.first 올리다 오류::UnsupportedJavascript.신규(class, 표현식) 만약 표현식.is_a?(::문자열) && end super end |
#without(*args) ⇒ Criteria
필드에서 _id 제외하도록 재정의되었습니다.
437 438 439 440 |
# 파일 'lib/mongoid/criteria.rb', 437줄 def 미포함:(*args) args -= id_fields super end |
#without_options ⇒ 기준
옵션이 없는 이 기준의 버전을 가져오세요.
533 534 535 536 537 |
# 파일 'lib/mongoid/criteria.rb', 533줄 def crit = 복제 crit..지우기 crit end |