클래스: Mongo::URI

상속:
객체
  • 객체
모두 표시
다음을 포함합니다.
주소::Validator, Loggable
다음에 정의됨:
build/ruby-driver-v2.19/lib/mongo/uri.rb,
build/ruby-driver-v2.19/lib/mongo/uri/srv_protocol.rb,
build/ruby-driver-v2.19/lib/mongo/uri/options_mapper.rb

개요

URI 클래스는 사용자가 MongoDB 연결 string 형식 사양에 정의된 대로 uri를 구문 분석할 수 있는 방법을 제공합니다.

www.mongodb.com/ko-kr/docs/manual/reference/connection-string/

예시:

uri string 을 사용하여 클라이언트 연결을 설정합니다.

uri = Mongo::URI.new('mongodb://localhost:27017')
client = Mongo::Client.new(uri.servers, uri.options)
client.(uri.credentials)
client[uri.database]

이후:

  • 2.0.0

직접 알려진 하위 클래스

SRVProtocol

네임스페이스 아래에 정의됨

클래스: OptionsMapper, SRVProtocol

상수 요약 접기

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

3.0 에서 제거될 예정입니다.

MongoDB 연결 string 체계입니다.

이후:

  • 2.0.0

'MongoDB //'.동결
MONGODB_SCHEME =

MongoDB 연결 string 체계 루트입니다.

이후:

  • 2.5.0

'mongodb'.동결
MONGODB_SRV_SCHEME =

MongoDB srv 프로토콜 연결 string 체계 루트입니다.

이후:

  • 2.5.0

'mongodb+srv'.동결
INVALID_SCHEME =
더 이상 사용되지 않습니다.

잘못된 체계에 대한 오류 세부 정보입니다.

이후:

  • 2.1.0

"체계가 잘못되었습니다. 체계는 '#{MONGODB_SCHEME}' 또는 '#{MONGODB_SRV_SCHEME}'이어야 합니다..동결
FORMAT =

MongoDB URI 형식 사양입니다.

이후:

  • 2.0.0

'MongoDB://[username:password@]host1[:port1][,host2[:port2]' +
',...[,hostN[:portN]]][/[database][?options]]'.동결
HELP =

MongoDB URI(연결 string) 문서 URL

이후:

  • 2.0.0

'https://www.mongodb.com/ko-kr/docs/manual/reference/connection-string/'.동결
UNSAFE =

urlen코딩해야 하는 안전하지 않은 문자입니다.

이후:

  • 2.1.0

/[\:\/\@]/
PERCENT_CHAR =

사용자 자격 증명에 인코딩해야 하는 백분율 기호입니다.

이후:

  • 2.5.1

/\%/
UNIX_SOCKET =

유닉스 소켓 접미사.

이후:

  • 2.1.0

/.sock/
HOST_DELIM =

호스트를 구분하는 문자입니다.

이후:

  • 2.1.0

','.동결
HOST_PORT_DELIM =

호스트와 포트를 구분하는 문자입니다.

이후:

  • 2.1.0

':'.동결
DATABASE_DELIM =

데이터베이스를 구분하는 문자입니다.

이후:

  • 2.1.0

'/'.동결
URI_OPTS_DELIM =

문자 구분 옵션입니다.

이후:

  • 2.1.0

'?'.동결
INDIV_URI_OPTS_DELIM =
더 이상 사용되지 않습니다.

여러 옵션을 구분하는 문자입니다.

이후:

  • 2.1.0

'&'.동결
URI_OPTS_밸류_DELIM =

옵션과 해당 값을 구분하는 문자입니다.

이후:

  • 2.1.0

'='.동결
AUTH_USER_PWD_DELIM =

사용자 이름과 비밀번호를 구분하는 문자입니다.

이후:

  • 2.1.0

':'.동결
AUTH_DELIM =

인증 자격 증명을 구분하는 문자입니다.

이후:

  • 2.1.0

'@'.동결
SCHEME_DELIM =

체계 구분자.

이후:

  • 2.5.0

'//'.동결
INVALID_OPTS_밸류_DELIM =

잘못된 옵션 형식에 대한 오류 세부 정보입니다.

이후:

  • 2.1.0

"옵션과 해당 값은 반드시 구분해야 합니다" +
" by '# {URI_OPTS_밸류_DELIM} '.동결
UNESCAPED_USER_PWD =

URL렌코딩되지 않은 사용자 이름 또는 비밀번호에 대한 오류 세부 정보입니다.

이후:

  • 2.1.0

"사용자 이름과 비밀번호는 URL렌코딩해야 합니다.".동결
UNESCAPED_UNIX_SOCKET =

URL렌코딩되지 않은 유닉스 소켓 경로에 대한 오류 세부 정보입니다.

이후:

  • 2.1.0

"UNIX 도메인 소켓을 URL렌코딩해야 합니다.".동결
UNESCAPED_DATABASE =

URL렌코딩되지 않은 인증 데이터베이스 이름에 대한 오류 세부 정보입니다.

이후:

  • 2.1.0

"인증 데이터베이스를 URL렌코딩해야 합니다.".동결
INVALID_OPTS_DELIM =

데이터베이스 구분 기호 없이 옵션을 제공하는 경우의 오류 세부 정보입니다.

이후:

  • 2.1.0

"옵션이 지정된 경우데이터베이스 구분 기호 '#{DATABASE_DELIM}'이(가) 있어야 합니다.".동결
INVALID_HOST =

누락된 호스트에 대한 오류 세부 정보입니다.

이후:

  • 2.1.0

"호스트가 누락되었습니다. 하나 이상을 제공해야 합니다.".동결
INVALID_PORT =

잘못된 포트에 대한 오류 세부 정보입니다.

이후:

  • 2.1.0

"포트가 잘못되었습니다. 포트는 0 보다 크고 65536보다 작은 정수여야 합니다.".동결
READ_mode_MAP =

URI 읽기 기본 설정 모드를 Ruby 드라이버 읽기 기본 설정 모드로 매핑

이후:

  • 2.0.0

{
  '프라이머리'            => :primary,
  'primarypreferred'   => :primary_preferred,
  'secondary'          => :secondary,
  'secondarypreferred' => :secondary_preferred,
  '가장 가까운'            => :nearest
}.동결
AUTH_MECH_MAP =

Ruby 드라이버 메커니즘에 대한 URI 인증 메커니즘 매핑

이후:

  • 2.0.0

{
  '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,
}.동결
REPEAtable_OPTIONS =

URI에 두 번 이상 표시되도록 허용된 옵션입니다.

'tls' 및 'sl'의 모든 인스턴스가 동일한 값을 가져야 한다는 URI 옵션 사양 요구 사항을 따르려면 해당 옵션에 대해 전달된 모든 값을 추적해야 합니다. 충돌하지 않는다고 가정하면 URI를 구문 분석한 직후 단일 값으로 압축됩니다.

이후:

  • 2.1.0

[ :tag_sets, :ssl ]

Loggable에서 포함된 상수

Loggable::prefix

인스턴스 속성 요약 접기

클래스 메서드 요약 접기

인스턴스 메서드 요약 접기

주소::유효성 검사기에 포함된 메서드

#validate_address_str!

Loggable에 포함된 메서드

#log_debug, #log_error, #log_fatal, #log_info, #log_warn, #logger

생성자 세부 정보

#initialize(string, options = {}) ⇒ URI

제공된 string 에서 새 URI를 만듭니다.

예시:

새 URI를 만듭니다.

URI.new('mongodb://localhost:27017')

매개변수:

  • 문자열 (string)

    구문 분석할 URI입니다.

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

    옵션.

옵션 해시(options):

  • :logger (로거)

    사용할 사용자 지정 로거입니다.

다음을 발생시킵니다.

이후:

  • 2.0.0



284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
# 파일 'build/ruby-driver-v2.19/lib/mongo/uri.rb', 줄 284

def 초기화(문자열, 옵션 = {})
  하지 않는 한 문자열
    올리다 오류::InvalidURI.신규(문자열, 'URI는 nil이 아닌 string 이어야 합니다.')
  end
  만약 문자열.비어 있나요?
    올리다 오류::InvalidURI.신규(문자열, '빈 URI는 구문 분석할 수 없습니다.')
  end

  @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
  구문 분석!(나머지)
  validate_uri_options!
end

인스턴스 속성 세부 정보

#options객체 (읽기 전용)

uri 구문 분석기 객체 옵션입니다.

이후:

  • 2.0.0



39
40
41
# 파일 'build/ruby-driver-v2.19/lib/mongo/uri.rb', 줄 39

def 옵션
  @options
end

서버 # 개 ⇒ 객체 (읽기 전용)

URI에 지정된 서버입니다.

이후:

  • 2.0.0



49
50
51
# 파일 'build/ruby-driver-v2.19/lib/mongo/uri.rb', 줄 49

def 서버
  @servers
end

#uri_options객체 (읽기 전용)

Mongo::Options::uri에 지정된 옵션을 삭제했습니다.

이후:

  • 2.1.0



44
45
46
# 파일 'build/ruby-driver-v2.19/lib/mongo/uri.rb', 줄 44

def uri_options
  @uri_options
end

클래스 메서드 세부 정보

.get(string, opts = {}) ⇒ URI, URI::SRVProtocol

URI 객체 또는 SRVProtocol URI 객체를 가져옵니다.

예시:

uri 객체를 가져옵니다.

URI.get(string)

매개변수:

  • 문자열 (string)

    구문 분석할 URI입니다.

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

    옵션.

  • 옵션 (해시)

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

반환합니다:

이후:

  • 2.5.0



230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
# 파일 'build/ruby-driver-v2.19/lib/mongo/uri.rb', 줄 230

def self.get(문자열, opts = {})
  하지 않는 한 문자열
    올리다 오류::InvalidURI.신규(문자열, 'URI는 nil이 아닌 string 이어야 합니다.')
  end
  만약 문자열.비어 있나요?
    올리다 오류::InvalidURI.신규(문자열, '빈 URI는 구문 분석할 수 없습니다.')
  end

  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_optionsMongo::Options::Redacted

인스턴스화 시 Mongo::Client에 전달해야 하는 옵션 해시를 가져오므로 해당 시점에서 자격 증명과 데이터베이스를 병합할 필요가 없습니다. 여기에는 단일 지점만 있습니다.

예시:

클라이언트 옵션을 가져옵니다.

uri.client_options

반환합니다:

이후:

  • 2.0.0



259
260
261
262
263
264
265
# 파일 'build/ruby-driver-v2.19/lib/mongo/uri.rb', 줄 259

def client_options
  opts = uri_options. do |opts|
    opts[:database] = @database 만약 @database
  end

  @user ? opts.merge(자격 증명) : opts
end

자격 증명 # ⇒ 해시

URI에 제공된 자격 증명을 가져옵니다.

예시:

자격 증명을 가져옵니다.

uri.credentials

반환합니다:

  • (해시)

    자격 증명.

    • :user [ string ] 사용자입니다.

    • :password [ string ] 제공된 비밀번호입니다.

이후:

  • 2.0.0



315
316
317
# 파일 'build/ruby-driver-v2.19/lib/mongo/uri.rb', 줄 315

def 자격 증명
  { : user => @user, :password => @password }
end

#데이터베이스string

URI에 제공된 데이터베이스를 가져옵니다.

예시:

데이터베이스를 가져옵니다.

uri.database

반환합니다:

  • (string)

    데이터베이스.

이후:

  • 2.0.0



327
328
329
# 파일 'build/ruby-driver-v2.19/lib/mongo/uri.rb', 줄 327

def database
  @database ? @database : Database::ADMIN
end

#srv_records객체

이후:

  • 2.0.0



267
268
269
# 파일 'build/ruby-driver-v2.19/lib/mongo/uri.rb', 줄 267

def srv_records
  nil
end

#to_sstring

URI를 string 로 가져옵니다.

예시:

URI를 string 로 가져옵니다.

uri.to_s

반환합니다:

  • (string)

    URI string 입니다.

이후:

  • 2.0.0



337
338
339
# 파일 'build/ruby-driver-v2.19/lib/mongo/uri.rb', 줄 337

def to_s
  재구성_우리
end