모듈: Mongoid::Criteria::Queryable::Optional
개요
선택적 모듈에는 건너뛰기, 제한, 정렬 등과 같이 쿼리를 둘러싼 예비 옵션과 관련된 모든 동작이 포함되어 있습니다.
인스턴스 속성 요약 접기
-
#options ⇒ 객체
속성 옵션의 값을 반환합니다.
- #options 쿼리 옵션입니다.(queryoptions.) ⇒ 객체
클래스 메서드 요약 접기
-
.포워더블 ⇒ Array<Symbol>
모델에서 전달할 수 있는 선택 사항의 메서드를 가져옵니다.
인스턴스 메서드 요약 접기
-
#오름차순(*fields) ⇒ 선택 사항 (동의어: #asc)
제공된 모든 필드에 대해 오름차순 정렬 옵션을 추가합니다.
-
#batch_size(value = nil) ⇒ 선택 사항
MongoDB 에 일괄 처리에서 조회 할 문서 수를 알려주는 옵션을 추가합니다.
-
#데이터 정렬(collation_doc) ⇒ 선택 사항
데이터 정렬을 설정합니다.
-
#comment(comment = nil) ⇒ 선택 사항
댓글을 쿼리와 연결합니다.
-
#cursor_type(type) ⇒ 선택 사항
커서 유형을 설정합니다.
-
#내림차순(*fields) ⇒ 선택 사항 (동의어: #desc)
제공된 모든 필드에 대해 내림차순 정렬 옵션을 추가합니다.
-
#힌트(값 = nil) ⇒ 선택 사항
쿼리 옵션에 인덱스 힌트를 추가합니다.
-
#limit(value = nil) ⇒ Optional
반환되는 결과에 제한할 문서 수를 추가합니다.
-
#max_scan(value = nil) ⇒ 선택 사항
컬렉션 에서 스캔되는 문서 수를 제한하는 옵션을 추가합니다.
-
#max_time_ms(value = nil) ⇒ 선택 사항
커서에서 작업을 처리하는 데 걸리는 누적 시간 제한(밀리초)을 추가합니다.
-
#no_timeout ⇒ 선택 사항
쿼리에 시간 초과가 발생하지 않도록 지시합니다.
-
#only(*args) ⇒ 선택 사항
제공된 필드만 포함하도록 결과를 제한합니다.
-
#order_by(*spec) ⇒ 선택 사항 (동의어: #order)
옵션에 정렬 기준을 추가합니다.
-
#reorder(*spec) ⇒ 선택 사항
주문 기준을 병합하는 대신 이 메서드를 사용하여 기존 주문을 제공된 주문으로 완전히 대체합니다.
-
#skip(value = nil) ⇒ 선택 사항 (동의어: #offset)
건너뛸 문서 수를 추가합니다.
-
#slice(기준 = nil) ⇒ 선택 사항
포함된 배열을 슬라이스하여 반환되는 결과를 제한합니다.
-
스냅샷 #스냅샷 ⇒ 선택 사항
스냅샷 모드에서 작동하도록 쿼리에 지시합니다.
-
#without(*args) ⇒ 선택 사항
제공되지 않은 필드만 포함하도록 결과를 제한합니다.
매크로 가능에 포함된 메서드
인스턴스 속성 세부 정보
#options ⇒ 객체
속성 옵션의 값을 반환합니다.
14 15 16 |
# 파일 'lib/mongoid/criteria/queryable/optional.rb', 줄 14 def @options end |
#options 쿼리 옵션입니다.(queryoptions.) ⇒ 객체
14 |
# 파일 'lib/mongoid/criteria/queryable/optional.rb', 줄 14 attr_accessor :options |
클래스 메서드 세부 정보
.포워더블 ⇒ Array<Symbol>
모델에서 전달할 수 있는 선택 사항의 메서드를 가져옵니다.
374 375 376 |
# 파일 'lib/mongoid/criteria/queryable/optional.rb', 줄 374 def 포워더블 public_instance_methods(거짓) - [ :options, :options= ] end |
인스턴스 메서드 세부 정보
#오름차순(*fields) ⇒ 선택 사항 asc 라고도 함
제공된 모든 필드에 대해 오름차순 정렬 옵션을 추가합니다.
24 25 26 |
# 파일 'lib/mongoid/criteria/queryable/optional.rb', 줄 24 def ascending(*필드) sort_with_list(*필드, 1) end |
#batch_size(value = nil) ⇒ 선택 사항
MongoDB 에 일괄 처리에서 조회 할 문서 수를 알려주는 옵션을 추가합니다.
40 41 42 |
# 파일 'lib/mongoid/criteria/queryable/optional.rb', 줄 40 def batch_size(value = nil) 옵션(value) { || .저장(:batch_size, value) } end |
#데이터 정렬(collation_doc) ⇒ 선택 사항
데이터 정렬을 설정합니다.
303 304 305 |
# 파일 'lib/mongoid/criteria/queryable/optional.rb', 줄 303 def 데이터 정렬(collation_doc) 복제.탭 { |쿼리| 쿼리..저장(:collation, collation_doc) } end |
#comment(comment = nil) ⇒ Optional
profileingLevel을 2 로 설정하면 댓글이 쿼리와 함께 프로필 컬렉션에 기록됩니다.
댓글을 쿼리와 연결합니다.
274 275 276 277 278 |
# 파일 'lib/mongoid/criteria/queryable/optional.rb', 줄 274 def comment(comment = nil) 복제.탭 do |쿼리| 쿼리..저장(:comment, comment) end end |
#cursor_type(type) ⇒ 선택 사항
커서는 :tailable 또는 :tailable_await 유형일 수 있습니다.
커서 유형을 설정합니다.
291 292 293 |
# 파일 'lib/mongoid/criteria/queryable/optional.rb', 줄 291 def cursor_type(유형) 복제.탭 { |쿼리| 쿼리..저장(:cursor_type, 유형) } end |
#내림차순(*fields) ⇒ 선택 사항 이라고도 함: desc
제공된 모든 필드에 대해 내림차순 정렬 옵션을 추가합니다.
52 53 54 |
# 파일 'lib/mongoid/criteria/queryable/optional.rb', 줄 52 def descending(*필드) sort_with_list(*필드, -1) end |
#힌트(값 = nil) ⇒ 선택 사항
쿼리 옵션에 인덱스 힌트를 추가합니다.
67 68 69 |
# 파일 'lib/mongoid/criteria/queryable/optional.rb', 줄 67 def hint(value = nil) 옵션(value) { || .저장(:hint, value) } end |
#limit(value = nil) ⇒ Optional
반환되는 결과에 제한할 문서 수를 추가합니다.
79 80 81 82 83 84 85 |
# 파일 'lib/mongoid/criteria/queryable/optional.rb', 줄 79 def limit(value = nil) 옵션(value) do |, 쿼리| val = value.to_i .저장(:limit, val) 쿼리.파이프라인.push("$limit" => val) 만약 집계? end end |
#max_scan(value = nil) ⇒ 선택 사항
컬렉션 에서 스캔되는 문서 수를 제한하는 옵션을 추가합니다.
96 97 98 |
# 파일 'lib/mongoid/criteria/queryable/optional.rb', 줄 96 def max_scan(value = nil) 옵션(value) { || .저장(:max_scan, value) } end |
#max_time_ms(value = nil) ⇒ 선택 사항
커서에서 작업을 처리하는 데 걸리는 누적 시간 제한(밀리초)을 추가합니다.
108 109 110 |
# 파일 'lib/mongoid/criteria/queryable/optional.rb', 줄 108 def max_time_ms(value = nil) 옵션(value) { || .저장(:max_time_ms, value) } end |
#no_timeout ⇒ 선택 사항
쿼리에 시간 초과가 발생하지 않도록 지시합니다.
118 119 120 |
# 파일 'lib/mongoid/criteria/queryable/optional.rb', 줄 118 def no_timeout 복제.탭 { |쿼리| 쿼리..저장(:timeout, 거짓) } end |
#only(*args) ⇒ 선택 사항
제공된 필드만 포함하도록 결과를 제한합니다.
130 131 132 133 134 135 136 137 138 139 |
# 파일 'lib/mongoid/criteria/queryable/optional.rb', 줄 130 def 제한하기(*args) args = args.flatten 옵션(*args) do || .저장( :fields, args.주입([:fields] || {}){ |sub, 필드| sub.탭 { sub[필드] = 1 }}, 거짓 ) end end |
#order_by(*spec) ⇒ 선택 사항 주문 이라고도 함
옵션에 정렬 기준을 추가합니다.
170 171 172 173 174 175 176 177 178 179 |
# 파일 'lib/mongoid/criteria/queryable/optional.rb', 줄 170 def order_by(*사양) 옵션(사양) do |, 쿼리| 사양.컴팩트.각 do |criterion| criterion.__sort_option__.각각의 쌍 do |필드, 방향| add_sort_option(, 필드, 방향) end 쿼리.파이프라인.push("$sort" => [:sort]) 만약 집계? end end end |
#reorder(*spec) ⇒ 선택 사항
주문 기준을 병합하는 대신 이 메서드를 사용하여 기존 주문을 제공된 주문으로 완전히 대체합니다.
191 192 193 194 195 |
# 파일 'lib/mongoid/criteria/queryable/optional.rb', 줄 191 def 재정렬(*사양) 복제.탭 do |쿼리| 쿼리..삭제(:sort) end.order_by(*사양) end |
#skip(value = nil) ⇒ 선택 사항 : 오프셋 이라고도 함
건너뛸 문서 수를 추가합니다.
205 206 207 208 209 210 211 |
# 파일 'lib/mongoid/criteria/queryable/optional.rb', 줄 205 def 건너뛰기(value = nil) 옵션(value) do |, 쿼리| val = value.to_i .저장(:skip, val) 쿼리.파이프라인.push("$skip" => val) 만약 집계? end end |
#slice(기준 = nil) ⇒ 선택 사항
포함된 배열을 슬라이스하여 반환되는 결과를 제한합니다.
222 223 224 225 226 227 228 229 230 |
# 파일 'lib/mongoid/criteria/queryable/optional.rb', 줄 222 def 슬라이스(criterion = nil) 옵션(criterion) do || .__union__( 필드: criterion.주입({}) do |옵션, (필드, val)| 옵션.탭 { |opt| opt.저장(필드, { "$slice" => val }) } end ) end end |
스냅샷 #스냅샷 ⇒ 선택 사항
스냅샷 모드에서 작동하도록 쿼리에 지시합니다.
238 239 240 241 242 |
# 파일 'lib/mongoid/criteria/queryable/optional.rb', 줄 238 def 스냅샷 복제.탭 do |쿼리| 쿼리..저장(: 스냅샷, true) end end |
#without(*args) ⇒ 선택 사항
제공되지 않은 필드만 포함하도록 결과를 제한합니다.
252 253 254 255 256 257 258 259 260 261 |
# 파일 'lib/mongoid/criteria/queryable/optional.rb', 줄 252 def 미포함:(*args) args = args.flatten 옵션(*args) do || .저장( :fields, args.주입([:fields] || {}){ |sub, 필드| sub.탭 { sub[필드] = 0 }}, 거짓 ) end end |