모듈: Mongo::Operation::Find::Builder::Command Private

다음에 정의됨:
build/ruby-driver-v2.19/lib/mongo/operation/find/builder/command.rb

개요

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

옵션에서 찾기 명령 사양을 빌드합니다.

이후:

  • 2.0.0

상수 요약 접기

OPTION_MAPPINGS =

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

Ruby 옵션에서 찾기 명령으로의 매핑입니다.

이후:

  • 2.0.0

BSON::문서.신규(
  allow_disk_use: 'allowDiskUse',
  allow_partial_results: 'allowPartialResults',
  await_data: 'awaitData',
  batch_size: 'batchSize',
  데이터 정렬: '데이터 정렬',
  comment: 'comment',
  필터: '필터하다',
  hint: '힌트',
  let: 'let',
  limit: 'limit',
  max_scan: 'maxScan',
  max_time_ms: 'maxTimeMS',
  max_value: 'max',
  min_value: 'min',
  no_cursor_timeout: 'noCursorTimeout',
  oplog_replay: 'oplogReplay',
  프로젝션: '프로젝션',
  read_concern: 'readConcern',
  return_key: 'returnKey',
  show_disk_loc: 'showRecordId',
  single_batch: 'singleBatch',
  건너뛰기: 'skip',
  스냅샷: '스냅샷',
  sort: 'sort',
  tailable: 'tailable',
  tailable_cursor: 'tailable',
).동결

클래스 메서드 요약 접기

클래스 메서드 세부 정보

.convert_limit_and_batch_size!(명령) ⇒ 객체

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

찾기 명령의 음수 제한 및 배치 크기 매개변수를 양수 매개변수로 변환합니다. 값이 0인 경우 매개변수를 제거합니다.

이는 OP_QUERY 경로가 아닌 찾기 명령에만 사용됩니다.

이 메서드는 command 매개변수를 변경합니다.

이후:

  • 2.0.0



87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/operation/find/builder/command.rb', 줄 87

module_function def convert_limit_and_batch_size!(명령)
  만약 명령[:limit] && 명령[:limit] < 0 &&
    명령[:batchSize] && 명령[:batchSize] < 0
  then
    명령[:limit] = 명령[:limit].abs
    명령[:batchSize] = 명령[:limit].abs
    명령[:singleBatch] = true
  other
    [:limit, :batchSize]. do |opt|
      만약 명령[opt]
        만약 명령[opt] < 0
          명령[opt] = 명령[opt].abs
          명령[:singleBatch] = true
        elsif 명령[opt] == 0
          명령.삭제(opt)
        end
      end
    end
  end
end

.선택기(사양, 연결) ⇒ 객체

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

이후:

  • 2.0.0



58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/operation/find/builder/command.rb', 줄 58

module_function def 선택기(사양, 연결)
  만약 사양[:collation] && !연결.기능.collation_enabled?
    올리다 오류::UnsupportedCollation
  end

  BSON::문서.신규. do |선택기|
    OPTION_MAPPINGS. do |k, server_k|
      하지 않는 한 (value = 사양[k]).nil?
        선택기[server_k] = value
      end
    end

    만약 rc = 선택기[:readConcern]
      선택기[:readConcern] = 옵션::매퍼.transform_values_to_strings(rc)
    end

    convert_limit_and_batch_size!(선택기)
  end
end