클래스: Mongo::Server::Description::Features

상속:
객체
  • 객체
모두 표시
다음에 정의됨:
lib/ Mongo/ 서버/description/features.rb

개요

특정 서버가 지원하는 기능에 대한 동작을 정의합니다.

이후:

  • 2.0.0

상수 요약 접기

Mappings =

기능 목록과 해당 기능이 표시되는 유선 프로토콜 버전입니다.

유선 프로토콜 버전은 다음과 같이 서버 릴리스에 매핑됩니다.

  • 2 => 2.6

  • 3 => 3.0

  • 4 => 3.2

  • 5 => 3.4

  • 6 => 3.6

  • 7 => 4.0

  • 8 => 4.2

  • 9 => 4.4

  • 13 => 5.0

  • 14 => 5.1

  • 17 => 6.0

이후:

  • 2.0.0

{
  merge_out_on_secondary: 13,
  get_more_comment: 9,
  retryable_write_error_label: 9,
  commit_quorum: 9,
  # 4.2 이전의 MongoDB Server 버전은 옵션의 유효성을 안정적으로 검사하지 않습니다.
  # 클라이언트 가 findAndModify 작업 중에 제공하며,
  # 해당 옵션이 제공될 때 클라이언트 사이드 오류를 발생시키는 드라이버.
  find_and_modify_option_validation: 8,
  sharded_transactions: 8,
  트랜잭션: 7,
  SCRAM_sha_256: 7,
  array_filters: 6,
  op_msg: 6,
  세션: 6,
  데이터 정렬: 5,
  max_staleness: 5,
  # 3.4 이전의 MongoDB Server 버전은 옵션의 유효성을 안정적으로 검사하지 않습니다.
  # 클라이언트가 업데이트/삭제 작업 중에 제공하며,
  # 해당 옵션이 제공될 때 클라이언트 사이드 오류를 발생시키는 드라이버.
  update_delete_option_validation: 5,
  find_command: 4,
  list_collections: 3,
  list_indexes: 3,
  SCRAM_sha_1: 3,
  write_command: 2,
  users_info: 2,
}.동결
SERVER_TOO_OLD =

이 버전의 드라이버에 비해 서버가 너무 오래된 경우 오류 메시지가 표시됩니다.

이후:

  • 2.5.0

"(%s)의 MongoDB 서버가 유선 버전(%s)을 보고하지만, 이 버전의 Ruby 드라이버 " +
"(%s) 이상이 필요합니다."
DRIVER_TOO_OLD =

운전자 가 서버 버전에 비해 너무 오래된 경우 오류 메시지가 표시됩니다.

이후:

  • 2.5.0

"(%s)의 서버에는 유선 버전(%s)이 필요하지만, 이 버전의 Ruby 운전자 " +
"(%s)까지만 지원합니다."
DRIVER_WIRE_VERSIONS =

이 버전의 운전자 가 지원하는 유선 프로토콜 버전입니다.

이후:

  • 2.0.0

(6..25).동결

인스턴스 속성 요약 접기

인스턴스 메서드 요약 접기

생성자 세부 정보

#initialize(server_wire_versions, 주소 = nil) ⇒ 기능

기능을 초기화합니다.

예시:

기능을 초기화합니다.

Features.new(0..3)

매개변수:

  • server_wire_versions (범위)

    서버가 유선 버전을 지원했습니다.

이후:

  • 2.0.0



118
119
120
121
122
123
124
125
126
127
128
129
130
131
# 파일 'lib/ Mongo/ 서버/description/features.rb', 줄 118

def 초기화(server_wire_versions, 주소 = nil)
  만약 server_wire_versions.min.nil?
    올리다 ArgumentError, "server_wire_versions's min is nil"
  end
  만약 server_wire_versions.최대.nil?
    올리다 ArgumentError, "server_wire_versions의 최대값은 nil"
  end
  @server_wire_versions = server_wire_versions
  @address = 주소

  만약 mongo::Lint.활성화?
    동결
  end
end

인스턴스 속성 세부 정보

#server_wire_versions범위 (읽기 전용)

반환값 server_wire_versions 서버에서 지원되는 와이어 버전입니다.

반환합니다:

  • (범위)

    server_wire_versions 서버에서 지원되는 와이어 버전입니다.

이후:

  • 2.0.0



107
108
109
# 파일 'lib/ Mongo/ 서버/description/features.rb', 줄 107

def server_wire_versions
  @server_wire_versions
end

인스턴스 메서드 세부 정보

#check_driver_support!객체

운전자 지원 와이어 사이에 겹치는 부분이 있는지 확인하세요.

version range and the server wire version range.

예시:

와이어 버전이 겹치는지 확인합니다.

features.check_driver_support!

다음을 발생시킵니다.

이후:

  • 2.5.1



143
144
145
146
147
148
149
150
151
152
153
# 파일 'lib/ Mongo/ 서버/description/features.rb', 줄 143

def check_driver_support!
  만약 DRIVER_WIR_VERSIONS.min > @server_wire_versions.최대
    올리다 오류::지원되지 않는 기능.신규(SERVER_TOO_OLD % [@address,
                                                           @server_wire_versions.최대,
                                                           DRIVER_WIR_VERSIONS.min])
  elsif DRIVER_WIR_VERSIONS.최대 < @server_wire_versions.min
    올리다 오류::지원되지 않는 기능.신규(DRIVER_TOO_OLD % [@address,
                                                           @server_wire_versions.min,
                                                           DRIVER_WIR_VERSIONS.최대])
  end
end