모듈: Mongoid::Criteria::Queryable::Selectable
- 확장자:
- 매크로 가능
- 다음에 정의됨:
- lib/mongoid/criteria/queryable/selectable.rb
개요
쿼리 가능 선택 가능 항목은 데이터베이스 에서 문서 를 선택할 수 있다는 기능 에서 선택 가능합니다. 선택 가능 모듈은 MongoDB 선택기 구축과 관련된 선택 가능 항목에 모든 기능을 제공합니다.
상수 요약 접기
- LINE_STRING =
라인스트링 $geometry에 대한 상수입니다.
'라인스트링'- POINT =
포인트 $geometry에 대한 상수입니다.
'점'- POLYGON =
다각형 $geometry에 대한 상수입니다.
'다각형'
인스턴스 속성 요약 접기
-
#부정 ⇒ 객체
속성 부정의 값을 반환합니다.
- #부정(negating) 다음 표현식이 부정되는 경우.(Ifthe) ⇒ 객체
-
#선택기 ⇒ 객체
속성 선택기의 값을 반환합니다.
- #선택기 쿼리 선택기입니다.(queryselector.) ⇒ 객체
클래스 메서드 요약 접기
-
.포워더블 ⇒ Array<Symbol>
모델에서 전달할 수 있는 선택 가능한 항목의 메서드를 가져옵니다.
인스턴스 메서드 요약 접기
-
#모든(*기준) ⇒ 선택 가능 (동의어: #all_in)
$all 기준을 추가합니다.
-
#및(*criteria) ⇒ 선택 가능 (동의어: #all_of)
$and 기준을 추가합니다.
-
#any_of(*criteria) ⇒ 선택 가능
수신자에 이미 존재하는 기준에 대한 추가 제약 조건으로 인수 분리를 추가합니다.
-
#사이(기준) ⇒ 선택 가능
범위 선택을 추가합니다.
-
#elem_match(기준) ⇒ 선택 가능
$elemMatch로 선택합니다.
-
#eq(기준) ⇒ 선택 가능
선택기에 $eq 기준을 추가합니다.
-
#존재(기준) ⇒ 선택 가능
$exists 선택 항목을 추가합니다.
-
#expr_query(기준)⇒ 선택 가능
비공개
지정된 표현식 쿼리 에 추가합니다.
-
#geo_spatial(기준) ⇒ 선택 가능
$geoIntersects 또는 $geoWithin 선택 항목을 추가합니다.
-
#gt(기준) ⇒ 선택 가능
선택기에 $gt 기준을 추가합니다.
-
#gte(기준) ⇒ 선택 가능
선택기에 $gte 기준을 추가합니다.
-
#in(조건) ⇒ 선택 가능 (동의어: #any_in)
선택 가능 항목에 $in 선택 항목을 추가합니다.
-
#js_query(기준)⇒ 선택 가능
비공개
JavaScript 선택 항목을 생성합니다.
-
#lt(기준) ⇒ 선택 가능
선택기에 $lt 기준을 추가합니다.
-
#lte(기준) ⇒ 선택 가능
선택기에 $lte 기준을 추가합니다.
-
#max_distance(기준) ⇒ 선택 가능
선택 가능한 항목에 $maxDistance 선택 항목을 추가합니다.
-
#mod(기준) ⇒ 선택 가능
선택 가능한 항목에 $mod 선택 항목을 추가합니다.
-
#ne(기준) ⇒ 선택 가능 (동의어: #excludes)
선택 가능 항목에 $ne 선택 항목을 추가합니다.
-
#근사치(기준) ⇒ 선택 가능
지리적 선택에 $near 기준을 추가합니다.
-
#near_sphere(기준) ⇒ 선택 가능
지리적 선택에 $nearSphere 기준을 추가합니다.
-
#부정? ⇒ true | false
현재 선택 가능 항목이 다음 선택 항목을 무효화하나요?
-
#nin(조건) ⇒ 선택 가능 (동의어: #not_in)
선택 가능 항목에 $nin 선택 항목을 추가합니다.
-
#none_of(*criteria) ⇒ 선택 가능
인수를 무효화하여 인수와 일치하지 않는 문서로만 쿼리 를 제한합니다.
-
#또는(*기준) ⇒ 선택 가능
선택 가능 항목에 $nor 선택 항목을 추가합니다.
-
#not(*criteria) ⇒ 선택 가능
인수를 무효화하거나 인수가 제공되지 않으면 다음 선택을 무효화합니다.
-
#또는(*criteria) ⇒ 선택 가능
수신자의 기존 기준과 제공된 인수에서 $or를 사용하여 분리를 생성합니다.
-
#text_search(terms, opts = nil) ⇒ 선택 가능
텍스트 Atlas Search 선택기를 구성합니다.
-
#where(*criteria) ⇒ 선택 가능
이는 대부분의 MongoDB 쿼리의 일반적인 진입 점 입니다.
-
#with_size(기준) ⇒ 선택 가능
배열 필드에 $size 선택 항목을 추가합니다.
-
#with_type(기준) ⇒ 선택 가능
선택 가능 항목에 $type 선택 항목을 추가합니다.
매크로 가능에 포함된 메서드
인스턴스 속성 세부 정보
#부정 ⇒ 객체
속성 부정의 값을 반환합니다.
23 24 25 |
# 파일 'lib/mongoid/criteria/queryable/selectable.rb', 줄 23 def 부정 @negating end |
#부정(negating) 다음 표현식 이 부정되는 경우.(Ifthe) ⇒ 객체
23 |
# 파일 'lib/mongoid/criteria/queryable/selectable.rb', 줄 23 attr_accessor :negating, :selector |
#선택기 ⇒ 객체
속성 선택기의 값을 반환합니다.
23 24 25 |
# 파일 'lib/mongoid/criteria/queryable/selectable.rb', 줄 23 def 선택기 @selector end |
#선택기 쿼리 선택기입니다.(queryselector.) ⇒ 객체
23 |
# 파일 'lib/mongoid/criteria/queryable/selectable.rb', 줄 23 attr_accessor :negating, :selector |
클래스 메서드 세부 정보
.포워더블 ⇒ Array<Symbol>
모델에서 전달할 수 있는 선택 가능한 항목의 메서드를 가져옵니다.
883 884 885 886 |
# 파일 'lib/mongoid/criteria/queryable/selectable.rb', 줄 883 def 포워더블 public_instance_methods(거짓) - %i[부정 부정= 부정? 선택기 선택기=] end |
인스턴스 메서드 세부 정보
#all(*criteria) ⇒ Selectable ~ 라고도 함: all_in
$all 기준을 추가합니다.
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# 파일 'lib/mongoid/criteria/queryable/selectable.rb', 줄 36 def 모두(*기준) 만약 기준.비어 있나요? 반환 복제.탭 do |쿼리| 쿼리.reset_strategies! end end 기준.주입(복제) do |쿼리, 조건| 올리다 오류::CriteriaArgumentRequired, :all 만약 조건.nil? 조건 = (조건) 만약 전략 send(전략, 조건, '$all') other 조건.주입(쿼리) do |_query, (필드, value)| v = { '$all' => value } v = { '$not' => v } 만약 부정? _query.add_field_expression(필드.to_s, v) end end end.reset_strategies! end |
#및(*criteria) ⇒ 선택 가능 ~ 라고도 함: all_of
$and 기준을 추가합니다.
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
# 파일 'lib/mongoid/criteria/queryable/selectable.rb', 줄 72 def 개인정보 정책에(*기준) _mongoid_flatten_arrays(기준).주입(복제) do |C, new_s| new_s = new_s.선택기 만약 new_s.is_a?(선택 가능) 정규화 = (new_s) 정규화.각 do |k, v| k = k.to_s 만약 C.선택기[k] # k에 이미 조건이 있습니다. # v가 연산자이고 모든 기존 조건이 다음과 같은 경우 # 연산자도 있고 기존 조건에는 v 가 없습니다. # 기존 조건에 추가할 수 있습니다. # 그렇지 않으면 $and를 사용합니다. 만약 v.is_a?(해시) && v.분량 == 1 && (new_k = v.키.first).start_with?('$') && (기존_kv = C.선택기[k]).is_a?(해시) && !기존_kv.키?(new_k) && 기존_kv.키.모두? { |sub_k| sub_k.start_with?('$') } 병합된_v = C.선택기[k].merge(v) C.선택기.저장(k, 병합된_v) other C = C.send(:__multi__, [ { k => v } ], '$and') end other C.선택기.저장(k, v) end end C end end |
#any_of(*criteria) ⇒ 선택 가능
수신자에 이미 존재하는 기준에 대한 추가 제약 조건으로 인수 분리를 추가합니다.
수신자를 분리 피연산자 중 하나로 만들려면 or 을 사용합니다.
각 인수는 해시, 기준 객체, 해시 또는 기준 객체의 배열 또는 중첩된 배열 일 수 있습니다. 중첩된 배열은 평면화되며 모든 깊이가 가능합니다. 배열 전달은 더 이상 사용되지 않습니다.
625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 |
# 파일 'lib/mongoid/criteria/queryable/selectable.rb', 줄 625 def any_of(*기준) 기준 = _mongoid_flatten_arrays(기준) case 기준.분량 when 0 복제 when 1 # 단일 기준이 있는 경우 any_of는 and처럼 작동합니다. # 참고: 기준은 쿼리 객체 일 수 있으며, #where 메서드는 # 지원 하지 않습니다. self.개인정보 정책에(*기준) other # 기준이 여러 개인 경우 모두 $or # 결과를 self에 추가합니다. exprs = 기준.map do |criterion| 만약 criterion.is_a?(선택 가능) (criterion.선택기) other 해시[criterion.map do |k, v| 만약 k.is_a?(기호) [ k.to_s, v ] other [ k, v ] end end] end end self.개인정보 정책에('$or' => exprs) end end |
#사이(기준) ⇒ 선택 가능
범위 선택을 추가합니다.
115 116 117 118 119 120 121 122 123 124 |
# 파일 'lib/mongoid/criteria/queryable/selectable.rb', 줄 115 def between(criterion) 올리다 오류::CriteriaArgumentRequired, : between 만약 criterion.nil? 선택(criterion) do |선택기, 필드, value| 선택기.저장( 필드, { '$gte' => value.min, '$lte' => value.최대 } ) end end |
#elem_match(기준) ⇒ 선택 가능
$elemMatch로 선택합니다.
143 144 145 146 147 |
# 파일 'lib/mongoid/criteria/queryable/selectable.rb', 줄 143 def elem_match(criterion) 올리다 오류::CriteriaArgumentRequired, :elem_match 만약 criterion.nil? and_with_operator(criterion, '$elemMatch') end |
#eq(기준) ⇒ 선택 가능
선택기에 $eq 기준을 추가합니다.
240 241 242 243 244 |
# 파일 'lib/mongoid/criteria/queryable/selectable.rb', 줄 240 def eq(criterion) 올리다 오류::CriteriaArgumentRequired, :eq 만약 criterion.nil? and_with_operator(criterion, '$eq') end |
#존재(기준) ⇒ 선택 가능
$exists 선택 항목을 추가합니다.
164 165 166 167 168 169 170 |
# 파일 'lib/mongoid/criteria/queryable/selectable.rb', 줄 164 def 이 존재합니다(criterion) 올리다 오류::CriteriaArgumentRequired, :exists 만약 criterion.nil? typed_override(criterion, '$exists') do |value| 몽고이드::부울.진화(value) end end |
#expr_query(기준)⇒ 선택 가능
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
지정된 표현식 쿼리 에 추가합니다.
기준은 다음 형식 중 하나의 해시여야 합니다.
- value
- => 값
- value
- => 연산자_값_표현식
필드 이름과 연산자 문자열 또는 기호로 제공할 수 있습니다.
795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 |
# 파일 'lib/mongoid/criteria/queryable/selectable.rb', 줄 795 def expr_query(criterion) 올리다 ArgumentError, ' 여기서 기준은nil일 수 없습니다. ' 만약 criterion.nil? 하지 않는 한 criterion.is_a?(해시) 올리다 오류::InvalidQuery, "표현식은 다음과 같아야 합니다: #{Errors::InvalidQuery. truncate_expr(criteria)}" end 정규화 = (criterion) 복제.탭 do |쿼리| 정규화.각 do |필드, value| field_s = 필드.to_s 만약 field_s.start_with?('$') # $and 또는 $where와 같은 표현식 수준 연산자 쿼리 쿼리.add_operator_expression(field_s, value) other 쿼리.add_field_expression(필드, value) end end 쿼리.reset_strategies! end end |
#geo_spatial(기준) ⇒ 선택 가능
$geoIntersects에 사용할 수 있는 유일한 도형은 :intersects_line, :intersects_point, :intersects_polygon입니다.
$geoWithin 쿼리에 유효한 유일한 옵션은 기하학 도형 :within_polygon과 연산자 :within_box입니다.
$geoWithin 쿼리 의:within_box 연산자 왼쪽 하단(남서) 좌표 쌍을 첫 번째 인수로, 오른쪽 상단(북동)을 두 번째 인수로 예상합니다. 중요: 위도와 경도가 전달될 때 경도는 좌표 쌍의 첫 번째 요소로 예상됩니다. 출처: https://www.mongodb.com/ko-kr/docs/manual/reference/ 연산자/ 쿼리/box/
$geoIntersects 또는 $geoWithin 선택 항목을 추가합니다. 기준을 확장하려면 예제에 표시된 대로 기호 연산자를 사용해야 합니다.
209 210 211 212 213 |
# 파일 'lib/mongoid/criteria/queryable/selectable.rb', 줄 209 def geo_spatial(criterion) 올리다 오류::CriteriaArgumentRequired, :geo_spatial 만약 criterion.nil? __merge__(criterion) end |
#gt(기준) ⇒ 선택 가능
선택기에 $gt 기준을 추가합니다.
258 259 260 261 262 |
# 파일 'lib/mongoid/criteria/queryable/selectable.rb', 줄 258 def gt(criterion) 올리다 오류::CriteriaArgumentRequired, :gt 만약 criterion.nil? and_with_operator(criterion, '$gt') end |
#gte(기준) ⇒ 선택 가능
선택기에 $gte 기준을 추가합니다.
276 277 278 279 280 |
# 파일 'lib/mongoid/criteria/queryable/selectable.rb', 줄 276 def gte(criterion) 올리다 오류::CriteriaArgumentRequired, :gte 만약 criterion.nil? and_with_operator(criterion, '$gte') end |
#in(조건) ⇒ 선택 가능 : any_in
선택 가능 항목에 $in 선택 항목을 추가합니다.
297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 |
# 파일 'lib/mongoid/criteria/queryable/selectable.rb', 줄 297 def 인(조건) 올리다 오류::CriteriaArgumentRequired, :in 만약 조건.nil? 조건 = (조건) 만약 전략 send(전략, 조건, '$in') other 조건.주입(복제) do |쿼리, (필드, value)| v = { '$in' => value } v = { '$not' => v } 만약 부정? 쿼리.add_field_expression(필드.to_s, v) end.reset_strategies! end end |
#js_query(기준)⇒ 선택 가능
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
JavaScript 선택 항목을 생성합니다.
826 827 828 829 830 831 832 833 834 835 836 |
# 파일 'lib/mongoid/criteria/queryable/selectable.rb', 줄 826 def js_query(criterion) 복제.탭 do |쿼리| 만약 부정? 쿼리.add_operator_expression('$and', [ { '$nor' => [ { '$where ' => criterion } ] } ]) other 쿼리.add_operator_expression('$where ', criterion) end 쿼리.reset_strategies! end end |
#lt(기준) ⇒ 선택 가능
선택기에 $lt 기준을 추가합니다.
326 327 328 329 330 |
# 파일 'lib/mongoid/criteria/queryable/selectable.rb', 줄 326 def lt(criterion) 올리다 오류::CriteriaArgumentRequired, :lt 만약 criterion.nil? and_with_operator(criterion, '$lt') end |
#lte(기준) ⇒ 선택 가능
선택기에 $lte 기준을 추가합니다.
344 345 346 347 348 |
# 파일 'lib/mongoid/criteria/queryable/selectable.rb', 줄 344 def lte(criterion) 올리다 오류::CriteriaArgumentRequired, :lte 만약 criterion.nil? and_with_operator(criterion, '$lte') end |
#max_distance(기준) ⇒ 선택 가능
선택 가능한 항목에 $maxDistance 선택 항목을 추가합니다.
359 360 361 362 363 364 |
# 파일 'lib/mongoid/criteria/queryable/selectable.rb', 줄 359 def max_distance(criterion) 올리다 오류::CriteriaArgumentRequired, :max_distance 만약 criterion.nil? # $maxDistance는 $near와 함께 제공해야 합니다. __add__(criterion, ' $maxDistance ') end |
#mod(기준) ⇒ 선택 가능
선택 가능한 항목에 $mod 선택 항목을 추가합니다.
377 378 379 380 381 |
# 파일 'lib/mongoid/criteria/queryable/selectable.rb', 줄 377 def mod(criterion) 올리다 오류::CriteriaArgumentRequired, :mod 만약 criterion.nil? and_with_operator(criterion, '$mod') end |
#ne(기준) ⇒ 선택 가능 ~ 라고도 함: 제외
선택 가능 항목에 $ne 선택 항목을 추가합니다.
395 396 397 398 399 |
# 파일 'lib/mongoid/criteria/queryable/selectable.rb', 줄 395 def ne(criterion) 올리다 오류::CriteriaArgumentRequired, :ne 만약 criterion.nil? and_with_operator(criterion, '$ne') end |
#근사치(기준) ⇒ 선택 가능
지리적 선택에 $near 기준을 추가합니다.
414 415 416 417 418 |
# 파일 'lib/mongoid/criteria/queryable/selectable.rb', 줄 414 def 가깝다(criterion) 올리다 오류::CriteriaArgumentRequired, :near 만약 criterion.nil? and_with_operator(criterion, '$near ') end |
#near_sphere(기준) ⇒ 선택 가능
지리적 선택에 $nearSphere 기준을 추가합니다.
432 433 434 435 436 |
# 파일 'lib/mongoid/criteria/queryable/selectable.rb', 줄 432 def near_sphere(criterion) 올리다 오류::CriteriaArgumentRequired, :near_sphere 만약 criterion.nil? and_with_operator(criterion, '$nearSphere ') end |
#부정? ⇒ true | false
현재 선택 가능 항목이 다음 선택 항목을 무효화하나요?
490 491 492 |
# 파일 'lib/mongoid/criteria/queryable/selectable.rb', 줄 490 def 부정? !!부정 end |
#nin(조건) ⇒ 선택 가능 ~ 라고도 함: not_in
선택 가능 항목에 $nin 선택 항목을 추가합니다.
453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 |
# 파일 'lib/mongoid/criteria/queryable/selectable.rb', 줄 453 def nin(조건) 올리다 오류::CriteriaArgumentRequired, :nin 만약 조건.nil? 조건 = (조건) 만약 전략 send(전략, 조건, '$nin') other 조건.주입(복제) do |쿼리, (필드, value)| v = { '$nin' => value } v = { '$not' => v } 만약 부정? 쿼리.add_field_expression(필드.to_s, v) end.reset_strategies! end end |
#none_of(*criteria) ⇒ 선택 가능
인수를 무효화하여 인수와 일치하지 않는 문서로만 쿼리 를 제한합니다.
552 553 554 555 556 557 558 559 560 561 562 563 |
# 파일 'lib/mongoid/criteria/queryable/selectable.rb', 줄 552 def none_of(*기준) 기준 = _mongoid_flatten_arrays(기준) 반환 dup 만약 기준.비어 있나요? exprs = 기준.map do |criterion| ( criterion.is_a?(선택 가능) ? criterion.선택기 : criterion ) end self.개인정보 정책에('$nor' => exprs) end |
#또는(*기준) ⇒ 선택 가능
선택 가능 항목에 $nor 선택 항목을 추가합니다.
480 481 482 |
# 파일 'lib/mongoid/criteria/queryable/selectable.rb', 줄 480 def 또한(*기준) _mongoid_add_top_level_operation('$nor', 기준) end |
#not(*criteria) ⇒ 선택 가능
인수를 무효화하거나 인수가 제공되지 않으면 다음 선택을 무효화합니다.
509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 |
# 파일 'lib/mongoid/criteria/queryable/selectable.rb', 줄 509 def not(*기준) 만약 기준.비어 있나요? dup.탭 { |쿼리| 쿼리.부정 = !쿼리.부정 } other 기준.컴팩트.주입(복제) do |C, new_s| new_s = new_s.선택기 만약 new_s.is_a?(선택 가능) (new_s).각 do |k, v| k = k.to_s 만약 C.선택기[k] || k.start_with?('$') C = C.send(:__multi__, [ { '$nor' => [ { k => v } ] } ], '$and') elsif v.is_a?(해시) C = C.send(:__multi__, [ { '$nor' => [ { k => v } ] } ], '$and') other 부정 연산자 = 만약 v.is_a?(정규 표현식) '$not' other '$ne' end C = C.send(:__override__, { k => v }, 부정 연산자) end end C end end end |
#또는(*criteria) ⇒ 선택 가능
수신자의 기존 기준과 제공된 인수에서 $or를 사용하여 분리를 생성합니다.
이 동작(리시버가 분리 피연산자 중 하나가 됨)은 ActiveRecord의 or 동작과 일치합니다.
수신자에 이미 존재하는 기준에 대한 추가 제약 조건으로 인수의 분리를 추가하려면 any_of 를 사용합니다.
각 인수는 해시, 기준 객체, 해시 또는 기준 객체의 배열 또는 중첩된 배열 일 수 있습니다. 중첩된 배열은 평면화되며 모든 깊이가 가능합니다. 배열 전달은 더 이상 사용되지 않습니다.
595 596 597 |
# 파일 'lib/mongoid/criteria/queryable/selectable.rb', 줄 595 def or(*기준) _mongoid_add_top_level_operation('$or', 기준) end |
#text_search(terms, opts = nil) ⇒ 선택 가능
https://www.mongodb.com/ko-kr/docs/manual/reference/ 연산자/ 쿼리 /text/ 에 따라 현재로서는 쿼리 에 여러 텍스트 검색 조건을 제공할 수 없습니다. Mongoid는 이러한 쿼리 빌드 하지만 서버 실행하려고 할 때 오류를 반환합니다.
텍스트 Atlas Search 선택기를 구성합니다.
723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 |
# 파일 'lib/mongoid/criteria/queryable/selectable.rb', 줄 723 def text_search(용어, opts = nil) 올리다 오류::CriteriaArgumentRequired, :terms 만약 용어.nil? 복제.탭 do |쿼리| criterion = { '$text' => { '$ 검색' => 용어 } } criterion['$text'].병합!(opts) 만약 opts 만약 쿼리.선택기['$text'] # https://www.mongodb.com/ko-kr/docs/manual/reference/operator/query/text/ # 여러 $text 표현식은 현재 지원되지 않습니다. # MongoDB 서버 대신 쿼리를 올바르게 빌드합니다. # 이전 텍스트 검색 조건을 현재 값으로 덮어씁니다. # 하나를 주었습니다. 몽고이드.로거.경고('현재 서버에서 쿼리당 여러 개의 $text 표현식을 지원하지 않습니다.') 쿼리.선택기 = { '$and' => [ 쿼리.선택기 ] }.merge(criterion) other 쿼리.선택기 = 쿼리.선택기.merge(criterion) end end end |
#where(*criteria) ⇒ 선택 가능
이는 대부분의 MongoDB 쿼리의 일반적인 진입점입니다. 이렇게 하면 표준 필드인 값 선택, 해시 메서드를 사용한 확장 선택, string 이 제공되는 경우 $where 선택이 생성됩니다.
757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 |
# 파일 'lib/mongoid/criteria/queryable/selectable.rb', 줄 757 def 위치(*기준) 반환 복제.reset_strategies! 만약 기준.비어 있나요? 기준.주입(self) do |쿼리, criterion| 올리다 오류::CriteriaArgumentRequired, :where 만약 criterion.nil? # 기준을 인스턴스 변수에 저장해야 하므로 # 수정 가능한 메서드는 다형성 객체 를 만드는 방법을 알고 있습니다. # 이 방법은 원칙적으로 여러 기준을 허용합니다. # 첫 번째 항목만 @criterion에 저장됩니다. 이 # first_or_create 등의 메서드 때문에 정상적으로 작동합니다. # #where에 하나의 기준만 지정하지 않습니다. @criterion = criterion 만약 criterion.is_a?(문자열) 쿼리.js_query(criterion) other 쿼리.expr_query(criterion) end end end |
#with_size(기준) ⇒ 선택 가능
이 메서드의 이름은 열거형 또는 기호에 대한 기존 #size 메서드와 충돌하지 않도록 #with_size 지정됩니다.
배열 필드에 $size 선택 항목을 추가합니다.
669 670 671 672 673 674 675 |
# 파일 'lib/mongoid/criteria/queryable/selectable.rb', 줄 669 def with_size(criterion) 올리다 오류::CriteriaArgumentRequired, :with_size 만약 criterion.nil? typed_override(criterion, '$size') do |value| ::Integer.진화(value) end end |
#with_type(기준) ⇒ 선택 가능
http://vurl.me/PGOU에는 모든 유형의 목록이 포함되어 있습니다.
선택 가능 항목에 $type 선택 항목을 추가합니다.
693 694 695 696 697 698 699 |
# 파일 'lib/mongoid/criteria/queryable/selectable.rb', 줄 693 def with_type(criterion) 올리다 오류::CriteriaArgumentRequired, :with_type 만약 criterion.nil? typed_override(criterion, '$type') do |value| ::Integer.진화(value) end end |