클래스: Mongo::URI
- 상속:
-
객체
- 객체
- Mongo::URI
- 다음을 포함합니다.
- 주소::Validator, Loggable
- 다음에 정의됨:
- lib/ Mongo/uri.rb,
lib/ Mongo/uri/srv_protocol.rb,
lib/ Mongo/uri/options_mapper.rb
개요
URI 클래스는 사용자가 MongoDB 연결 string 형식 사양에 정의된 대로 uri를 구문 분석할 수 있는 방법을 제공합니다.
https://www.mongodb.com/ko-kr/docs/manual/reference/connection-string/
네임스페이스 아래에 정의됨
클래스: OptionsMapper, SRVProtocol
상수 요약 접기
- SCHEME =
더 이상 사용되지 않습니다.
3.0 에서 제거될 예정입니다.
MongoDB 연결 string 체계입니다.
'mongodb://'- MONGODB_SCHEME =
MongoDB 연결 string 체계 루트입니다.
'mongodb'- MONGODB_SRV_SCHEME =
MongoDB srv 프로토콜 연결 string 체계 루트입니다.
'mongodb+srv'- INVALID_SCHEME =
더 이상 사용되지 않습니다.
잘못된 체계에 대한 오류 세부 정보입니다.
"체계가 잘못되었습니다. 체계는 '#{MONGODB_SCHEME}' 또는 '#{MONGODB_SRV_SCHEME}'이어야 합니다.- FORMAT =
MongoDB URI 형식 사양입니다.
'MongoDB://[username:password@]host1[:port1][,host2[:port2]' + ',...[,hostN[:portN]]][/[데이터베이스][?options]]'
- HELP =
MongoDB URI(연결 string) 문서 URL
'https://www.mongodb.com/ko-kr/docs/manual/reference/connection-string/'- UNSAFE =
urlen코딩해야 하는 안전하지 않은 문자입니다.
%r{[:/@]}- PERCENT_CHAR =
사용자 자격 증명에 인코딩해야 하는 백분율 기호입니다.
/%/- UNIX_SOCKET =
유닉스 소켓 접미사.
/.sock/- HOST_DELIM =
호스트를 구분하는 문자입니다.
','- HOST_PORT_DELIM =
호스트와 포트를 구분하는 문자입니다.
':'- DATABASE_DELIM =
데이터베이스를 구분하는 문자입니다.
'/'- URI_OPTS_DELIM =
문자 구분 옵션입니다.
'?'- INDIV_URI_OPTS_DELIM =
더 이상 사용되지 않습니다.
여러 옵션을 구분하는 문자입니다.
'&'- URI_OPTS_밸류_DELIM =
옵션과 해당 값을 구분하는 문자입니다.
'='- AUTH_USER_PWD_DELIM =
사용자 이름과 비밀번호를 구분하는 문자입니다.
':'- AUTH_DELIM =
인증 자격 증명을 구분하는 문자입니다.
'@'- SCHEME_DELIM =
체계 구분자.
'://'- INVALID_OPTS_밸류_DELIM =
잘못된 옵션 형식에 대한 오류 세부 정보입니다.
'옵션과 해당 값은 ' + " by '# {URI_OPTS_밸류_DELIM} '
- UNESCAPED_USER_PWD =
URL렌코딩되지 않은 사용자 이름 또는 비밀번호에 대한 오류 세부 정보입니다.
'사용자 이름과 비밀번호는 URL렌코딩해야 합니다.'- UNESCAPED_UNIX_SOCKET =
URL렌코딩되지 않은 유닉스 소켓 경로에 대한 오류 세부 정보입니다.
'UNIX 도메인 소켓은 URL렌코딩되어야 합니다.'- UNESCAPED_DATABASE =
URL렌코딩되지 않은 인증 데이터베이스 이름에 대한 오류 세부 정보입니다.
'인증 데이터베이스 URL렌코딩되어야 합니다.'- INVALID_OPTS_DELIM =
데이터베이스 구분 기호 없이 옵션을 제공하는 경우의 오류 세부 정보입니다.
"옵션이 지정된 경우데이터베이스 구분 기호 '#{DATABASE_DELIM}'이(가) 있어야 합니다."- INVALID_HOST =
누락된 호스트에 대한 오류 세부 정보입니다.
'호스팅하다 누락되었습니다. 하나 이상을 제공해야 합니다.'- INVALID_PORT =
잘못된 포트에 대한 오류 세부 정보입니다.
'포트가 잘못되었습니다. 포트는 0 보다 크고 65536보다 작은 정수여야 합니다.'- READ_mode_MAP =
URI 읽기 기본 설정 모드를 Ruby 드라이버 읽기 기본 설정 모드로 매핑
{ '프라이머리' => :primary, 'primarypreferred' => :primary_preferred, 'secondary' => :secondary, 'secondarypreferred' => :secondary_preferred, '가장 가까운' => :nearest }.동결
- AUTH_MECH_MAP =
Ruby 드라이버 메커니즘에 대한 URI 인증 메커니즘 매핑
{ 'GSSAPI' => :gssapi, 'MONGODB-AWS' => :aws, # MONGODB-CR은 더 이상 사용되지 않으며 드라이버 버전 3.0에서 제거될 예정입니다. 'MONGODB-CR' => :mongodb_cr, 'MONGODB-X509' => :mongodb_x509, 'PLAIN' => :플레인, 'SCRAM-SHA-1' => :scRAM, 'SCRAM-SHA-256' => :scram256, }.동결
- SERVER_MONITORING_MODES =
serverMonitoringMode URI 옵션의 유효한 값입니다.
%w[스트림 poll 자동].동결
- REPEAtable_OPTIONS =
URI에 두 번 이상 표시되도록 허용된 옵션입니다.
'tls' 및 'sl'의 모든 인스턴스가 동일한 값을 가져야 한다는 URI 옵션 사양 요구 사항을 따르려면 해당 옵션에 대해 전달된 모든 값을 추적 해야 합니다. 충돌하지 않는다고 가정하면 URI를 구문 분석한 직후 단일 값으로 압축됩니다.
%i[tag_sets ssl]
Loggable에서 포함된 상수
인스턴스 속성 요약 접기
-
#options ⇒ 객체
읽기 전용
uri 구문 분석기 객체 옵션입니다.
-
서버 #개 ⇒ 객체
읽기 전용
URI에 지정된 서버입니다.
-
#uri_options ⇒ 객체
읽기 전용
Mongo::Options::uri에 지정된 옵션을 삭제했습니다.
클래스 메서드 요약 접기
-
.get(string, opts = {}) ⇒ URI, URI::SRVProtocol
URI 객체 또는 SRVProtocol URI 객체를 가져옵니다.
인스턴스 메서드 요약 접기
-
#client_options ⇒ Mongo::Options::Redacted
인스턴스화 시 Mongo::Client에 전달해야 하는 옵션 해시를 가져오므로 해당 점 에서 자격 증명 과 데이터베이스 병합할 필요가 없습니다. 여기에는 단일 점 만 있습니다.
-
자격 증명 # ⇒ 해시
URI에 제공된 자격 증명을 가져옵니다.
-
#데이터베이스 ⇒ string
URI에 제공된 데이터베이스를 가져옵니다.
-
#initialize(string, options = {}) ⇒ URI
생성자
제공된 string 에서 새 URI를 만듭니다.
- #srv_records ⇒ 객체
-
#to_s ⇒ string
URI를 string 로 가져옵니다.
주소::유효성 검사기에 포함된 메서드
Loggable에 포함된 메서드
#log_debug, #log_error, #log_fatal, #log_info, #log_warn, #logger
생성자 세부 정보
#initialize(string, options = {}) ⇒ URI
제공된 string 에서 새 URI를 만듭니다.
282 283 284 285 286 287 288 289 290 291 292 293 294 295 |
# 파일 'lib/ Mongo/uri.rb', 282줄 def 초기화(문자열, = {}) 올리다 오류::InvalidURI.신규(문자열, 'URI는 nil이 아닌 string 이어야 합니다.') 하지 않는 한 문자열 올리다 오류::InvalidURI.신규(문자열, '빈 URI는 구문 분석할 수 없습니다.') 만약 문자열.비어 있나요? @string = 문자열 @options = parsed_scheme, _, 나머지 = 문자열.파티션(SCHEME_DELIM) 하지 않는 한 parsed_scheme == Scheme raise_invalid_error!(" '#{parsed_scheme} ' 스키마가 잘못되었습니다. 스키마는 '# {MONGODB_SCHEME} } '이어야 합니다 . SRV URI를 구문 분석하려면 URI#get을 사용하세요.") end raise_invalid_error!('URI에 호스트가 없습니다.') 만약 나머지.비어 있나요? 구문 분석!(나머지) end |
인스턴스 속성 세부 정보
#options ⇒ 객체 (읽기 전용)
uri 구문 분석기 객체 옵션입니다.
37 38 39 |
# 파일 'lib/ Mongo/uri.rb', 37줄 def @options end |
서버 # 개 ⇒ 객체 (읽기 전용)
URI에 지정된 서버입니다.
47 48 49 |
# 파일 'lib/ Mongo/uri.rb', 47줄 def 서버 @servers end |
#uri_options ⇒ 객체 (읽기 전용)
Mongo::Options::uri에 지정된 옵션을 삭제했습니다.
42 43 44 |
# 파일 'lib/ Mongo/uri.rb', 42줄 def @uri_options end |
클래스 메서드 세부 정보
.get(string, opts = {}) ⇒ URI, URI::SRVProtocol
URI 객체 또는 SRVProtocol URI 객체를 가져옵니다.
231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 |
# 파일 'lib/ Mongo/uri.rb', 231줄 def self.get(문자열, opts = {}) 올리다 오류::InvalidURI.신규(문자열, 'URI는 nil이 아닌 string 이어야 합니다.') 하지 않는 한 문자열 올리다 오류::InvalidURI.신규(문자열, '빈 URI는 구문 분석할 수 없습니다.') 만약 문자열.비어 있나요? Scheme, = 문자열.파티션(SCHEME_DELIM) case Scheme when MONGODB_SCHEME URI.신규(문자열, opts) when MONGODB_SRV_SCHEME SRVProtocol.신규(문자열, opts) other 올리다 오류::InvalidURI.신규(문자열, " '#{schema}' 체계가 잘못 되었습니다. 체계는' #{MONGODB_SCHEME} ' 또는' #{MONGODB_SRV_SCHEME} ' ") end end |
인스턴스 메서드 세부 정보
#client_options ⇒ Mongo::Options::Redacted
인스턴스화 시 Mongo::Client에 전달해야 하는 옵션 해시를 가져오므로 해당 점 에서 자격 증명 과 데이터베이스 병합할 필요가 없습니다. 여기에는 단일 점 만 있습니다.
257 258 259 260 261 262 263 |
# 파일 'lib/ Mongo/uri.rb', 257줄 def opts = .탭 do |opts| opts[:database] = @database 만약 @database end @user ? opts.merge(자격 증명) : opts end |
자격 증명 # ⇒ 해시
URI에 제공된 자격 증명을 가져옵니다.
307 308 309 |
# 파일 'lib/ Mongo/uri.rb', 307줄 def 자격 증명 { 사용자: @user, 비밀번호: @password } end |
#데이터베이스 ⇒ string
URI에 제공된 데이터베이스를 가져옵니다.
319 320 321 |
# 파일 'lib/ Mongo/uri.rb', 319줄 def database @database || Database::ADMIN end |
#srv_records ⇒ 객체
265 266 267 |
# 파일 'lib/ Mongo/uri.rb', 265줄 def srv_records nil end |
#to_s ⇒ string
URI를 string 로 가져옵니다.
329 330 331 |
# 파일 'lib/ Mongo/uri.rb', 329줄 def to_s 재구성_우리 end |