모듈: Mongo::Collection::View::Readable

포함 항목:
Mongo::Collection::View
다음에 정의됨:
빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/view/readable.rb

개요

컬렉션 보기에 대한 읽기 관련 동작을 정의합니다.

이후:

  • 2.0.0

인스턴스 메서드 요약 접기

인스턴스 메서드 세부 정보

#aggregate(파이프라인, options = {}) ⇒ 애그리게이션

컬렉션 뷰에서 애그리게이션을 실행합니다.

예시:

문서를 집계합니다.

view.aggregate([
  { "$group" => { "_id" => "$city", "tpop" => { "$sum" => "$pop" }}}
])

매개변수:

  • 파이프라인 (Array<Hash>)

    집계 파이프라인.

  • 옵션 (해시) (기본값: {})

    애그리게이션 옵션.

옵션 해시(options):

  • :allow_disk_use (true, false)

    애그리게이션 중에 디스크 사용이 허용되는 경우 true로 설정합니다.

  • :batch_size (정수)

    배치당 반환할 문서 수입니다.

  • :bypass_document_validation (true, false)

    문서 수준 유효성 검사 를 건너뛸지 여부입니다.

  • :collation (해시)

    사용할 데이터 정렬입니다.

  • :comment (객체)

    이 명령에 첨부할 사용자 제공 코멘트입니다.

  • :hint (string)

    집계에 사용할 인덱스입니다.

  • :let (해시)

    파이프라인 에서 사용할 변수 매핑. 자세한 내용은 서버 설명서를 참조하세요.

  • :max_time_ms (정수)

    집계 실행 을 허용하는 최대 시간(밀리초)입니다.

  • :use_cursor (true, false)

    명령이 서버 에 커서 를 사용하여 결과를 제공하도록 요청 할지 여부를 나타냅니다. 서버 버전 3.6 부터 애그리게이션은 항상 커서 를 사용하여 결과를 제공하므로 이 옵션은 유효하지 않습니다.

  • :session (세션)

    사용할 세션입니다.

반환합니다:

이후:

  • 2.0.0



60
61
62
63
64
65
66
67
68
69
70
71
72
73
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/view/readable.rb', 줄 60

def 집계(파이프라인, 옵션 = {})
  옵션 = @options.merge(옵션) 하지 않는 한 mongo.깨진 보기_옵션
  집계 = 집계.신규(self, 파이프라인, 옵션)

  # $merge 및 $out 파이프라인 단계에서
  # collection, 수행 시 캐시를 지워야 합니다.
  #
  # 하나의 네임스페이스가 아닌 전체 캐시를 지우도록 선택합니다.
  # $out 및 $merge 단계는 동일한 네임스페이스 에 쓰기 (write) 필요가 없습니다.
  애그리게이션이 수행되는 #입니다.
  쿼리 캐시.지우기 만약 집계.쓰기 (write)?

  집계
end

#allow_disk_use보기

서버가 찾기 작업을 실행하는 동안 디스크에 임시 데이터를 쓸 수 있도록 허용합니다.

반환합니다:

이후:

  • 2.0.0



79
80
81
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/view/readable.rb', 줄 79

def allow_disk_use
  구성(:allow_disk_use, true)
end

#allow_partial_results보기

일부 샤드가 다운된 경우 쿼리가 부분적인 결과를 얻을 수 있도록 허용합니다.

예시:

부분 결과 허용.

view.allow_partial_results

반환합니다:

이후:

  • 2.0.0



91
92
93
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/view/readable.rb', 줄 91

def allow_partial_results
  구성(:allow_partial_results, true)
end

#await_data보기

쿼리 커서에 열린 상태로 유지하고 데이터를 기다리라고 지시합니다.

예시:

커서 에서 데이터를 기다립니다.

view.await_data

반환합니다:

이후:

  • 2.0.0



103
104
105
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/view/readable.rb', 줄 103

def await_data
  구성(:await_data, true)
end

#batch_size(batch_size = nil) ⇒ Integer, View

참고:

1 또는 음수를 지정하는 것은 제한을 설정하는 것과 유사합니다.

MongoDB 의 각 결과 배치 에서 반환된 문서 수입니다.

예시:

배치 크기를 설정합니다.

view.batch_size(5)

매개변수:

  • batch_size (정수) (기본값: nil)

    각 결과 배치 의 크기입니다.

반환합니다:

  • (Integer, View)

    batch_size 값 또는 새 View 중 하나입니다.

이후:

  • 2.0.0



120
121
122
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/view/readable.rb', 줄 120

def batch_size(batch_size = nil)
  구성(:batch_size, batch_size)
end

#comment(comment = nil) ⇒ string, View

참고:

profileingLevel을 2 로 설정하면 댓글이 쿼리와 함께 프로필 컬렉션에 기록됩니다.

댓글을 쿼리와 연결합니다.

예시:

댓글을 추가합니다.

view.comment('slow query')

매개변수:

  • comment (객체) (기본값: nil)

    쿼리 와 연결할 주석 입니다.

반환합니다:

  • (string, View)

    댓글 또는 새 View 중 하나입니다.

이후:

  • 2.0.0



138
139
140
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/view/readable.rb', 줄 138

def comment(comment = nil)
  구성(:comment, comment)
end

#count(opts = {}) ⇒ 정수

더 이상 사용되지 않습니다.

대신 #count_documents 또는 #estimated_document_count를 사용하세요. 그러나 #count_documents로 전환할 때는 다음 연산자를 대체해야 합니다.

* $where should be replaced with $expr (only works on 3.6+)
* $near should be replaced with $geoWithin with $center
* $nearSphere should be replaced with $geoWithin with $centerSphere

컬렉션에서 일치하는 문서 수를 가져옵니다.

예시:

컬렉션의 문서 수를 가져옵니다.

collection_view.count

매개변수:

  • opts (해시) (기본값: {})

    작업에 대한 옵션입니다.

옵션 해시(opts):

  • :skip (정수)

    건너뛸 문서 수입니다.

  • :hint (해시)

    기본 인덱스 선택을 재정의하고 MongoDB가 쿼리에 특정 인덱스를 사용하도록 강제합니다.

  • :limit (정수)

    계산할 Docs 의 최대 개수입니다.

  • :max_time_ms (정수)

    명령 실행 을 허용하는 최대 시간입니다.

  • :read (해시)

    읽기 설정 (read preference) 옵션.

  • :collation (해시)

    사용할 데이터 정렬입니다.

  • :session (Mongo::Session)

    작업에 사용할 세션입니다.

  • :comment (객체)

    이 명령에 첨부할 사용자 제공 코멘트입니다.

반환합니다:

  • (정수)

    문서 수입니다.

이후:

  • 2.0.0



170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/view/readable.rb', 줄 170

def 카운트(opts = {})
  opts = @options.merge(opts) 하지 않는 한 mongo.깨진 보기_옵션
  cmd = { :count => 컬렉션.이름, :query => 필터 }
  cmd[:skip] = opts[:skip] 만약 opts[:skip]
  cmd[:hint] = opts[:hint] 만약 opts[:hint]
  cmd[:limit] = opts[:limit] 만약 opts[:limit]
  만약 read_concern
    cmd[:readConcern] = 옵션::매퍼.transform_values_to_strings(
      read_concern)
  end
  cmd[:maxTimeMS] = opts[:max_time_ms] 만약 opts[:max_time_ms]
  mongo::Lint.validate_underscore_read_preference(opts[:read])
  read_pref = opts[:read] || read_preference
  선택기 = ServerSelector.get(read_pref || server_selector)
  with_session(opts) do |Session|
    read_with_retry(Session, 선택기) do |서버|
      작업::Count.신규(
        선택기: cmd,
        db_name: database.이름,
        옵션: {:limit => -1},
        읽기: read_pref,
        세션: Session,
        # 어떤 이유로든 데이터 정렬은 역사적으로
        # string 키. 이는 유효한 사용법으로 문서화되어 있지 않습니다.
        데이터 정렬: opts[:collation] || opts['데이터 정렬'] || 데이터 정렬,
        comment: opts[:comment],
      ).실행(서버, 컨텍스트: 작업::Context.신규(클라이언트: 고객, 세션: Session))
    end.n.to_i
  end
end

#count_documents(opts = {}) ⇒ 정수

컬렉션에서 일치하는 문서 수를 가져옵니다.

예시:

컬렉션의 문서 수를 가져옵니다.

collection_view.count

매개변수:

  • opts (해시) (기본값: {})

    작업에 대한 옵션입니다.

  • ops (해시)

    사용자 지정 가능한 옵션 세트

옵션 해시(opts):

  • :skip (정수)

    건너뛸 문서 수입니다.

  • :hint (해시)

    기본값 인덱스 선택을 재정의하고 쿼리 에 특정 인덱스 를 사용하도록 MongoDB 를 강제합니다. 서버 버전 3.6이상이 필요합니다.

  • :limit (정수)

    계산할 Docs 의 최대 개수입니다.

  • :max_time_ms (정수)

    명령 실행 을 허용하는 최대 시간입니다.

  • :read (해시)

    읽기 설정 (read preference) 옵션.

  • :collation (해시)

    사용할 데이터 정렬입니다.

  • :session (Mongo::Session)

    작업에 사용할 세션입니다.

반환합니다:

  • (정수)

    문서 수입니다.

이후:

  • 2.6.0



223
224
225
226
227
228
229
230
231
232
233
234
235
236
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/view/readable.rb', 줄 223

def count_documents(opts = {})
  opts = @options.merge(opts) 하지 않는 한 mongo.깨진 보기_옵션
  파이프라인 = [:'$match' => 필터]
  파이프라인 << { :'$skip' => opts[:skip] } 만약 opts[:skip]
  파이프라인 << { :'$limit' => opts[:limit] } 만약 opts[:limit]
  파이프라인 << { :'$group' => { _id: 1, n: { :'$sum' => 1 } } }

  opts = opts.슬라이스(:hint, :max_time_ms, :read, :collation, :session, :comment)
  opts[:collation] ||= 데이터 정렬

  first = 집계(파이프라인, opts).first
  반환 0 하지 않는 한 first
  first['n'].to_i
end

#cursor_type(type = nil) ⇒ :tailable, ...

사용할 커서 유형입니다. :tailable 또는 :tailable_await일 수 있습니다.

예시:

커서 유형을 설정합니다.

view.cursor_type(:tailable)

매개변수:

  • 유형 (:tailable, :tailable_await) (기본값: nil)

    커서 유형입니다.

반환합니다:

  • (:tailable, :tailable_await, View)

    커서 유형 설정 또는 새 View 중 하나입니다.

이후:

  • 2.3.0



626
627
628
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/view/readable.rb', 줄 626

def cursor_type(유형 = nil)
  구성(:cursor_type, 유형)
end

#distinct(field_name, opts = {}) ⇒ Array<Object>

특정 필드 에 대한 고유 값 목록을 가져옵니다.

예시:

고유 값을 가져옵니다.

collection_view.distinct('name')

매개변수:

  • field_name (string, 기호)

    필드의 이름입니다.

  • opts (해시) (기본값: {})

    고유 명령에 대한 옵션입니다.

  • 옵션 (해시)

    사용자 지정 가능한 옵션 세트

옵션 해시(opts):

  • :max_time_ms (정수)

    명령 실행 을 허용하는 최대 시간입니다.

  • :read (해시)

    읽기 설정 (read preference) 옵션.

  • :collation (해시)

    사용할 데이터 정렬입니다.

반환합니다:

  • (Array<Object>)

    고유 값 목록입니다.

이후:

  • 2.0.0



317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/view/readable.rb', 줄 317

def 별개(field_name, opts = {})
  만약 field_name.nil?
    올리다 ArgumentError, '고유 작업의 필드 이름은 'nil ' 이 아니어야 합니다.
  end
  opts = @options.merge(opts) 하지 않는 한 mongo.깨진 보기_옵션
  cmd = { :distinct => 컬렉션.이름,
          :key => field_name.to_s,
          :query => 필터, }
  cmd[:maxTimeMS] = opts[:max_time_ms] 만약 opts[:max_time_ms]
  만약 read_concern
    cmd[:readConcern] = 옵션::매퍼.transform_values_to_strings(
      read_concern)
  end
  mongo::Lint.validate_underscore_read_preference(opts[:read])
  read_pref = opts[:read] || read_preference
  선택기 = ServerSelector.get(read_pref || server_selector)
  with_session(opts) do |Session|
    read_with_retry(Session, 선택기) do |서버|
      작업::별개.신규(
        선택기: cmd,
        db_name: database.이름,
        옵션: {:limit => -1},
        읽기: read_pref,
        세션: Session,
        comment: opts[:comment],
        # 어떤 이유로든 데이터 정렬은 역사적으로
        # string 키. 이는 유효한 사용법으로 문서화되어 있지 않습니다.
        데이터 정렬: opts[:collation] || opts['데이터 정렬'] || 데이터 정렬,
      ).실행(서버, 컨텍스트: 작업::Context.신규(클라이언트: 고객, 세션: Session))
    end.first['values']
  end
end

#추정 _문서_카운트 (opts = {}) ⇒ 정수

컬렉션 메타데이터를 사용하여 컬렉션에 있는 문서 수의 추정치를 가져옵니다.

예시:

컬렉션의 문서 수를 가져옵니다.

collection_view.estimated_document_count

매개변수:

  • opts (해시) (기본값: {})

    작업에 대한 옵션입니다.

옵션 해시(opts):

  • :max_time_ms (정수)

    명령 실행 을 허용하는 최대 시간입니다.

  • :read (해시)

    읽기 설정 (read preference) 옵션.

  • :comment (객체)

    이 명령에 첨부할 사용자 제공 코멘트입니다.

반환합니다:

  • (정수)

    문서 수입니다.

이후:

  • 2.6.0



254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/view/readable.rb', 줄 254

def 예상_문서_수(opts = {})
  하지 않는 한 보기.필터.비어 있나요?
    올리다 ArgumentError, "필터를 사용하여 쿼리할 때 추정된_문서_카운트를 호출할 수 없습니다"
  end

  %i[limit 건너뛰기]. do |opt|
    만약 옵션.키?(opt) || opts.키?(opt)
      올리다 ArgumentError, "쿼리할 때 #{opt}"
    end
  end

  opts = @options.merge(opts) 하지 않는 한 mongo.깨진 보기_옵션
  mongo::Lint.validate_underscore_read_preference(opts[:read])
  read_pref = opts[:read] || read_preference
  선택기 = ServerSelector.get(read_pref || server_selector)
  with_session(opts) do |Session|
    read_with_retry(Session, 선택기) do |서버|
      컨텍스트 = 작업::Context.신규(클라이언트: 고객, 세션: Session)
      cmd = { 개수: 컬렉션.이름 }
      cmd[:maxTimeMS] = opts[:max_time_ms] 만약 opts[:max_time_ms]
      만약 read_concern
        cmd[:readConcern] = 옵션::매퍼.transform_values_to_strings(read_concern)
      end
      결과 = 작업::Count.신규(
        선택기: cmd,
        db_name: database.이름,
        읽기: read_pref,
        세션: Session,
        comment: opts[:comment],
      ).실행(서버, 컨텍스트: 컨텍스트)
      결과.n.to_i
    end
  end
구출 오류::OperationFailure => exc
  만약 exc.코드 == 26
    # NamespaceNotFound
    # 이는 집계 파이프라인 경로에서만 발생해야 합니다.
    # (서버 4.9+). 이전 서버는 존재하지 않는 경우 0 를 반환해야 합니다.
    컬렉션 #개.
    0
  other
    올리다
  end
end

#힌트(hint = nil) ⇒ 해시, 보기

MongoDB가 쿼리에 강제로 사용할 인덱스입니다.

예시:

인덱스 힌트를 설정합니다.

view.hint(name: 1)

매개변수:

  • hint (해시) (기본값: nil)

    쿼리에 사용할 인덱스입니다.

반환합니다:

  • (Hash, View)

    힌트 또는 새 View 입니다.

이후:

  • 2.0.0



360
361
362
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/view/readable.rb', 줄 360

def hint(hint = nil)
  구성(:hint, hint)
end

#limit(limit = nil) ⇒ Integer, View

쿼리 에서 반환할 Docs 의 최대 개수입니다.

예시:

제한을 설정합니다.

view.limit(5)

매개변수:

  • limit (정수) (기본값: nil)

    반환할 Docs 수입니다.

반환합니다:

  • (Integer, View)

    제한 또는 새 View 중 하나입니다.

이후:

  • 2.0.0



374
375
376
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/view/readable.rb', 줄 374

def limit(limit = nil)
  구성(:limit, limit)
end

#map_reduce(맵, 리듀스, 옵션 = {}) ⇒ MapReduce

컬렉션 뷰에서 맵/리듀스 작업을 실행합니다.

예시:

맵/리듀스를 실행합니다.

view.map_reduce(map, reduce)

매개변수:

  • map (string)

    지도 JavaScript 함수입니다.

  • reduce (string)

    reduce JavaScript 함수.

  • 옵션 (해시) (기본값: {})

    맵/리듀스 옵션.

반환합니다:

  • (MapReduce)

    맵 리듀스 래퍼입니다.

이후:

  • 2.0.0



390
391
392
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/view/readable.rb', 줄 390

def map_reduce(map, reduce, 옵션 = {})
  mapReduce.신규(self, map, reduce, @options.merge(옵션))
end

#max_await_time_ms(max = nil) ⇒ Integer, View

커서에서 더 많은 작업을 처리하는 데 걸리는 누적 시간 제한(밀리초)입니다.

예시:

최대 대기 시간(ms) 값을 설정합니다.

view.max_await_time_ms(500)

매개변수:

  • 최대 (정수) (기본값: nil)

    밀리초 단위의 최대 시간입니다.

반환합니다:

  • (Integer, View)

    최대 대기 시간 ms 값 또는 새 View 중 하나입니다.

이후:

  • 2.1.0



598
599
600
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/view/readable.rb', 줄 598

def max_await_time_ms(최대 = nil)
  구성(:max_await_time_ms, 최대)
end

#max_scan(value = nil) ⇒ Integer, View

더 이상 사용되지 않습니다.

이 옵션은 MongoDB 서버 버전 4.0 부터 더 이상 사용되지 않습니다.

스캔할 최대 문서 수를 설정합니다.

예시:

최대 스캔 값을 설정합니다.

view.max_scan(1000)

매개변수:

  • value (정수) (기본값: nil)

    스캔할 최대 개수입니다.

반환합니다:

  • (Integer, View)

    값 또는 새 View.

이후:

  • 2.0.0



407
408
409
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/view/readable.rb', 줄 407

def max_scan(value = nil)
  구성(:max_scan, value)
end

#max_time_ms(max = nil) ⇒ Integer, View

커서 에서 작업을 처리 하기 위한 누적 시간 제한(밀리초)입니다.

예시:

최대 시간 ms 값을 설정합니다.

view.max_time_ms(500)

매개변수:

  • 최대 (정수) (기본값: nil)

    밀리초 단위의 최대 시간입니다.

반환합니다:

  • (Integer, View)

    최대 시간 ms 값 또는 새 View 중 하나입니다.

이후:

  • 2.1.0



612
613
614
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/view/readable.rb', 줄 612

def max_time_ms(최대 = nil)
  구성(:max_time_ms, 최대)
end

#max_value(value = nil) ⇒ 해시, 보기

최대값을 Atlas Search로 설정합니다.

예시:

최대값을 설정합니다.

view.max_value(_id: 1)

매개변수:

  • value (해시) (기본값: nil)

    최대 필드 및 값입니다.

반환합니다:

  • (Hash, View)

    값 또는 새 View.

이후:

  • 2.1.0



421
422
423
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/view/readable.rb', 줄 421

def max_value(value = nil)
  구성(:max_value, value)
end

#min_value(value = nil) ⇒ 해시, 보기

검색 할 최소값을 설정합니다.

예시:

최소값을 설정합니다.

view.min_value(_id: 1)

매개변수:

  • value (해시) (기본값: nil)

    최소값 필드 및 값입니다.

반환합니다:

  • (Hash, View)

    값 또는 새 View.

이후:

  • 2.1.0



435
436
437
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/view/readable.rb', 줄 435

def min_value(value = nil)
  구성(:min_value, value)
end

#modifiers(doc = nil) ⇒ Hash, View

인수 없이 또는 nil 인수를 사용하여 호출하면 현재 뷰에 대한 레거시 (OP_QUERY) 서버 수정자를 반환합니다. nil이 아닌 인수(해시 또는 하위 클래스여야 함)를 사용하여 호출하면 제공된 수정자를 현재 뷰에 병합합니다. 입력 해시에는 string 과 기호 키가 모두 허용됩니다.

예시:

수정자 문서를 설정합니다.

view.modifiers(:$orderby => Mongo::Index::ASCENDING)

매개변수:

  • doc (해시) (기본값: nil)

    수정자 문서입니다.

반환합니다:

  • (Hash, View)

    수정자 문서 또는 새 View 중 하나입니다.

이후:

  • 2.1.0



579
580
581
582
583
584
585
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/view/readable.rb', 줄 579

def modifiers(doc = nil)
  만약 doc.nil?
    작업::찾기::빌더::Modifiers.map_server_modifiers(옵션)
  other
    신규(옵션.merge(작업::찾기::빌더::Modifiers.map_driver_options(BSON::문서.신규(doc))))
  end
end

#no_cursor_timeout보기

서버 는 일반적으로 과도한 메모리 사용을 방지하기 위해 비활성 기간(10 분) 후에 유휴 커서의 시간을 초과합니다. 이를 방지하려면 이 옵션을 설정합니다.

예시:

커서를 타임아웃되지 않도록 설정합니다.

view.no_cursor_timeout

반환합니다:

이후:

  • 2.0.0



448
449
450
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/view/readable.rb', 줄 448

def no_cursor_timeout
  구성(:no_cursor_timeout, true)
end

#프로젝션(문서 = nil) ⇒ 해시, 보기

참고:

값이 0 이면 문서에서 필드 가 제외됩니다. 1 값에 포함됩니다. _id 값을 제외한 값은 모두 0 이거나 모두 1 여야 합니다. _id 필드 는 기본값 포함됩니다. 명시적으로 제외해야 합니다.

결과 설정하다 의 각 문서에 포함하거나 제외할 필드입니다.

예시:

포함하거나 제외할 필드를 설정합니다.

view.projection(name: 1)

매개변수:

  • 문서 (해시) (기본값: nil)

    필드 와 1 또는 0 을 사용하여 포함하거나 제외합니다.

반환합니다:

  • (Hash, View)

    필드 또는 새 View 중 하나입니다.

이후:

  • 2.0.0



466
467
468
469
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/view/readable.rb', 줄 466

def 프로젝션(문서 = nil)
  validate_doc!(문서) 만약 문서
  구성(:projection, 문서)
end

#읽기(값 = nil) ⇒ 기호, 보기

참고:

쿼리 에 대해 아무것도 지정하지 않으면 컬렉션 의 읽기 설정 (read preference) 이 사용됩니다.

쿼리에 사용할 읽기 설정입니다.

매개변수:

  • value (해시) (기본값: nil)

    쿼리에 사용할 읽기 설정 모드입니다.

반환합니다:

  • (기호, 보기)

    읽기 설정 또는 새 View 중 하나입니다.

이후:

  • 2.0.0



482
483
484
485
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/view/readable.rb', 줄 482

def 읽기(value = nil)
  반환 read_preference 만약 value.nil?
  구성(:read, value)
end

#read_concern객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

이후:

  • 2.0.0



631
632
633
634
635
636
637
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/view/readable.rb', 줄 631

def read_concern
  만약 옵션[:session] && 옵션[:session].in_transaction?
    옵션[:session].send(:txn_read_concern) || 컬렉션.고객.read_concern
  other
    컬렉션.read_concern
  end
end

#read_preference객체

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

이후:

  • 2.0.0



640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/view/readable.rb', 줄 640

def read_preference
  @read_preference ||= 시작
    # 작업 읽기 설정 (read preference) 은 항상 존중되며 다음과 같습니다.
    # 우선 순위. 트랜잭션 에 있는 경우 다음을 살펴봅니다.
    # 트랜잭션 읽기 설정 (read preference) 및 기본값 은 클라이언트, 무시
    # 컬렉션 읽기 설정 (read preference). 트랜잭션 이 발생하지 않는 경우
    # 기본값인 클라이언트 인 컬렉션 읽기 설정 (read preference) 을 살펴봅니다.
    rp = 만약 옵션[:read]
      옵션[:read]
    elsif 옵션[:session] && 옵션[:session].in_transaction?
      옵션[:session].txn_read_preference || 컬렉션.고객.read_preference
    other
      컬렉션.read_preference
    end
    Lint.validate_underscore_read_preference(rp)
    rp
  end
end

#return_key(value = nil) ⇒ true, ...

인덱싱된 필드 만 반환할지 여부를 설정합니다.

예시:

반환 키 값을 설정합니다.

view.return_key(true)

매개변수:

  • value (true, false) (기본값: nil)

    반환 키 값입니다.

반환합니다:

  • (true, false, View)

    값 또는 새 View.

이후:

  • 2.1.0



497
498
499
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/view/readable.rb', 줄 497

def return_key(value = nil)
  구성(:return_key, value)
end

#show_disk_loc(value = nil) ⇒ true, ... show_record_id 라고도 함

각 문서에 대해 디스크 위치를 표시할지 여부를 설정합니다.

예시:

디스크 위치 표시 옵션을 설정합니다.

view.show_disk_loc(true)

매개변수:

  • value (true, false) (기본값: nil)

    필드의 값입니다.

반환합니다:

  • (true, false, View)

    값 또는 새 View 중 하나입니다.

이후:

  • 2.0.0



512
513
514
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/view/readable.rb', 줄 512

def show_disk_loc(value = nil)
  구성(:show_disk_loc, value)
end

#skip(number = nil) ⇒ Integer, View

결과를 반환하기 전에 건너뛸 Docs 의 수입니다.

예시:

건너뛸 번호를 설정합니다.

view.skip(10)

매개변수:

  • 숫자 (정수) (기본값: nil)

    건너뛸 Docs 수입니다.

반환합니다:

  • (Integer, View)

    건너뛰기 값 또는 새 View 입니다.

이후:

  • 2.0.0



528
529
530
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/view/readable.rb', 줄 528

def 건너뛰기(숫자 = nil)
  구성(:skip, 숫자)
end

#스냅샷(value = nil) ⇒ 객체

더 이상 사용되지 않습니다.

이 옵션은 MongoDB 서버 버전 4.0 부터 더 이상 사용되지 않습니다.

참고:

true로 설정하다 하면 문서가 두 번 이상 반환되지 않도록 합니다.

뷰의 스냅샷 값을 설정합니다.

예시:

스냅샷 값을 설정합니다.

view.snapshot(true)

매개변수:

  • value (true, false) (기본값: nil)

    스냅샷 값입니다.

이후:

  • 2.0.0



546
547
548
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/view/readable.rb', 줄 546

def 스냅샷(value = nil)
  구성(: 스냅샷, value)
end

#sort(spec = nil) ⇒ 해시, 보기

결과 설정하다 의 정렬 기준이 되는 키 및 방향 쌍입니다.

예시:

정렬 기준 설정

view.sort(name: -1)

매개변수:

  • 사양 (해시) (기본값: nil)

    정렬 기준이 되는 속성 및 방향입니다.

반환합니다:

  • (Hash, View)

    정렬 설정 또는 새 View 입니다.

이후:

  • 2.0.0



561
562
563
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/view/readable.rb', 줄 561

def sort(사양 = nil)
  구성(:sort, 사양)
end