클래스: Mongo::Server::Description

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

개요

hello 명령의 결과로 채워지는 서버 에 대한 설명을 나타냅니다.

참고: 알 수 없는 서버에는 와이어 버전이 없지만, 레거시 이유로 인해 와이어 버전이 없는 서버 의 min_wire_version 및 max_wire_version에 대해 0 을 반환합니다. 현재 드라이버 서버 알 수 없을 때 명령을 구성하는 경우가 있으므로 min_wire_version 및 max_wire_version에 대한 참조가 nil이 되어서는 안 됩니다. 드라이버 동작이 변경된 경우(https://jira.mongodb.org/browse/RUBY-1805), 이는 더 이상 필요하지 않을 수 있습니다.

이후:

  • 2.0.0

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

클래스: 기능, LoadBalancer

상수 요약 접기

중재자 =
더 이상 사용되지 않습니다.

config에서 중재자 정보를 읽기 위한 상수입니다.

이후:

  • 2.0.0

'중재자 전용'
중재자 =

config에서 중재자 정보를 읽기 위한 상수입니다.

이후:

  • 2.0.0

'중재자'
HIDDEN =

구성에서 숨겨진 정보를 읽기 위한 상수입니다.

이후:

  • 2.0.0

'숨김'
HOSTS =

config에서 호스트 정보를 읽기 위한 상수입니다.

이후:

  • 2.0.0

'호스트'
MESSAGE =
더 이상 사용되지 않습니다.

메시지 값의 키에 대한 상수입니다.

이후:

  • 2.0.0

'msg'
MONGOS_MESSAGE =
더 이상 사용되지 않습니다.

샤딩된 클러스터 를 나타내는 메시지의 상수입니다.

이후:

  • 2.0.0

'isdbgrid'
REPLICA_SET =
더 이상 사용되지 않습니다.

고스트 서버를 결정하기 위한 상수입니다.

이후:

  • 2.0.0

'isreplicaset'
MAX_BSON_OBJECT_SIZE =

구성에서 최대 BSON 크기 정보를 읽기 위한 상수입니다.

이후:

  • 2.0.0

'maxBsonObjectSize'
MAX_MESSAGE_BYTES =

구성에서 최대 메시지 크기 정보를 읽기 위한 상수입니다.

이후:

  • 2.0.0

'maxMessageSizeBytes'
MAX_WIRE_VERSION =

최대 와이어 버전에 대한 상수입니다.

이후:

  • 2.0.0

'maxWireVersion'
MIN_WIRE_VERSION =

최소 와이어 버전에 대한 상수입니다.

이후:

  • 2.0.0

'minWireVersion'
MAX_WRITE_BATCH_SIZE =

최대 쓰기 배치 크기를 읽기 위한 상수입니다.

이후:

  • 2.0.0

'maxWriteBatchSize'
LAST_WRITE =

lastWrite 하위 문서에 대한 상수입니다.

이후:

  • 2.4.0

'lastWrite'
LAST_WRITE_DATE =

lastWrite 하위 문서의 lastWriteDate 필드에 대한 상수입니다.

이후:

  • 2.4.0

'lastWriteDate'
ME =

me 필드 를 읽기 위한 상수입니다.

이후:

  • 2.1.0

''
DEFAULT_MAX_WRITE_BATCH_SIZE =

기본 최대 쓰기 (write) 배치 크기입니다.

이후:

  • 2.0.0

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

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

레거시 유선 프로토콜 버전입니다.

이후:

  • 2.0.0

0
패시브 =

config에서 패시브 정보를 읽기 위한 상수입니다.

이후:

  • 2.0.0

'패시브'
수동태 =

패시브 서버 목록을 읽기 위한 상수입니다.

이후:

  • 2.0.0

'패시브'
PRIMARY =
더 이상 사용되지 않습니다.

config에서 프라이머리 정보를 읽기 위한 상수입니다.

이후:

  • 2.0.0

'isMaster'
PRIMARY_HOST =

구성에서 프라이머리 호스팅하다 필드 를 읽기 위한 상수입니다.

이후:

  • 2.5.0

'기본'
SECONDARY =
더 이상 사용되지 않습니다.

구성에서 세컨더리 정보를 읽기 위한 상수입니다.

이후:

  • 2.0.0

'보조'
SET_NAME =

구성에서 복제본 세트 이름 정보를 읽기 위한 상수입니다.

이후:

  • 2.0.0

'세트 이름'
태그 =

config에서 태그 정보를 읽기 위한 상수입니다.

이후:

  • 2.0.0

'tags'
ELECTION_ID =

구성에서 ElectionId 정보를 읽기 위한 상수입니다.

이후:

  • 2.1.0

'ElectionId'
SET_VERSION =

구성에서 setVersion 정보를 읽기 위한 상수입니다.

이후:

  • 2.2.2

'setVersion'
LOCAL_TIME =

구성에서 localTime 정보를 읽기 위한 상수입니다.

이후:

  • 2.1.0

'localTime'
OPERATION_TIME =

구성에서 operationTime 정보를 읽기 위한 상수입니다.

이후:

  • 2.5.0

'작업 시간'
LOGical_SESSION_TIMEOUT_MINUTES =

구성에서 logicalSessionTimeoutMinutes 정보를 읽기 위한 상수입니다.

이후:

  • 2.5.0

'logicalSessionTimeoutMinutes'
CONNECTION_ID =

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

config에서 connectionId 정보를 읽기 위한 상수입니다.

이후:

  • 2.0.0

'connectionId'
EXCLUDE_FOR_COMPARISON =

두 설명을 비교할 때 제외할 필드입니다.

이후:

  • 2.0.6

[ LOCAL_TIME,
LAST_WRITE,
OPERATION_TIME,
작업::CLUSTER_TIME,
CONNECTION_ID, ].동결
SERVER_VERSION_WIRE_VERSION_MAP =

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

이후:

  • 2.0.0

{
  '8.2' => 27,
  '8.0' => 25,
  '7.0' => 21,
  '6.0' => 17,
  '5.2' => 15,
  '5.1' => 14,
  '5.0' => 12,
  '4.4' => 9,
  '4.2' => 8,
}.동결

인스턴스 속성 요약 접기

인스턴스 메서드 요약 접기

생성자 세부 정보

#initialize(주소, config = {},average_round_trip_time: nil, minimum_round_trip_time:, 0 load_balancer: false, force_load_balancer: false) ⇒ 설명

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

hello 명령의 결과에서 새 서버 설명을 인스턴스화하거나 알 수 없는 서버 및 로드밸런서 서버에 대한 자리 표시자 설명을 조작합니다.

예시:

새 설명을 인스턴스화합니다.

Description.new(address, { 'isWritablePrimary' => true }, 0.5)

매개변수:

  • 주소 (주소)

    서버 주소 입니다.

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

    hello 명령의 결과입니다.

  • 평균 왕복 시간 (Float) (기본값: nil)

    hello 명령이 완료되는 데 걸린 이동 평균 시간(초)입니다.

  • minimum_round_trip_time (Float) (기본값: 0)

    last hello 명령 10개의 최소 왕복 시간입니다.

  • load_balancer (true | false) (기본값은 false)

    서버 를 로드 밸런서 로 처리할지 여부입니다.

  • force_load_balancer (true | false) (기본값은 false)

    서버 를 로드 밸런서 로 강제할지 여부입니다.

이후:

  • 2.0.0



216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
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
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 216

def 초기화(주소, config = {}, 평균 왕복 시간: nil,
               minimum_round_trip_time: 0, load_balancer: 거짓,
               force_load_balancer: 거짓)
  @address = 주소
  @config = config
  @load_balancer = !!load_balancer
  @force_load_balancer = !!force_load_balancer
  @features = 기능.신규(Wire_versions,  || @address.to_s)
  @average_round_trip_time = 평균 왕복 시간
  @minimum_round_trip_time = minimum_round_trip_time
  @last_update_time = 시간.지금.동결
  @last_update_monotime = Utils.단조적 시간

  # loadBalanced=true URI 옵션이 설정하다 있으면 운전자 는
  # 통신하는 서버 가 serviceId를 설정하다 하지 않은 경우 작동합니다.
  # in ismaster/hello 응답.
  #
  # 현재로서는 에버그린에서 적절한 로드 밸런서 설정 을 실행 수 없습니다.
  #
  # 따라서 connect=:load_balancing Ruby 옵션을 대신 사용하는 경우
  serviceId가 설정하다 되지 않은 경우 loadBalanced=true URI 옵션의 #
  # ismaster/hello 응답, 운전자 는 serviceId를 조작하고
  # 자신을 다음 대상으로 보고하지 않는 서버 를 처리합니다.
  # 로드 밸런서 뒤에 있는 서버 로 로드 밸런서 뒤에 있습니다.
  #
  # 5.0+ 서버는 topologyVersion.processId를 제공해야 합니다.
  # 은 특정 프로세스 인스턴스 에만 적용됩니다. 이를 사용할 수 있습니다.
  # 필드 를 serviceId의 프록시로 사용합니다.
  #
  # 어떤 이유로든 topologyVersion이 제공되지 않으면
  # 로컬에서 serviceId를 조작합니다.
  #
  # 두 경우 모두 실제 서버 에서 제공하는 serviceId는
  # 로드 밸런서 는 BSON::ObjectId여야 합니다. 조작된
  # 서비스 ID는 실제 ID와 구분하기 위한 문자열입니다.
  # 특히 processId는 BSON::ObjectId이기도 하지만
  # 이는 string 가짜 서비스 임을 명확하게 하기 ID 위해 에 매핑됩니다.
  #
  # TODO: https://jira.mongodb.org/browse/RUBY-2881 이 완료되면 이를 제거합니다.
  만약 load_balancer && 좋아? && !service_id
    하지 않는 한 force_load_balancer
      올리다 오류::MissingServiceId,
            "#{주소.시드}의 서버 가 핸드셰이크 응답에 서비스 ID를 제공하지 않았습니다"
    end

    Fake_service_id = 만약 process_id = topology_version && topology_version['processId']
                        "프로세스:#{process_id}"
                      other
                        "가짜:#{rand((2**32) - 1) + 1}"
                      end
    @config = @config.merge('serviceId' => Fake_service_id)
  end

  반환 하지 않는 한 mongo::Lint.활성화?

  # 캐시 인스턴스 변수 미리 채우기
  호스트
  중재자
  패시브
  topology_version

  동결
end

인스턴스 속성 세부 정보

#주소주소 (읽기 전용)

주소 서버의 주소 반환합니다.

반환합니다:

  • (주소)

    주소 서버의 주소.

이후:

  • 2.0.0



281
282
283
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 281

def 주소
  @address
end

#average_round_trip_timeFloat (읽기 전용)

hello 호출을 완료하는 데 걸린 이동 평균 시간을 반환합니다.

반환합니다:

  • (Float)

    hello 호출을 완료하는 데 걸린 이동 평균 시간입니다.

이후:

  • 2.0.0



297
298
299
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 297

def 평균 왕복 시간
  @average_round_trip_time
end

#config해시 (읽기 전용)

hello 명령의 실제 결과를 반환합니다.

반환합니다:

  • (해시)

    hello 명령의 실제 결과입니다.

이후:

  • 2.0.0



284
285
286
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 284

def config
  @config
end

#기능기능 (읽기 전용)

기능을 반환 서버.

반환합니다:

  • (기능)

    기능 서버의 기능입니다.

이후:

  • 2.0.0



294
295
296
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 294

def 기능
  @features
end

#last_update_monotimeFloat (읽기 전용)

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

이 서버 설명이 단조적 시계에 따라 생성된 시간입니다.

반환합니다:

  • (Float)

    MongoDB Server 설명 생성 단조적 시간입니다.

다음도 참조하세요.

  • 자세한 내용은

이후:

  • 2.0.0



842
843
844
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 842

def last_update_monotime
  @last_update_monotime
end

#last_update_time시간 (읽기 전용)

참고:

이 시간은 성공적인 서버 확인 시간을 나타내지 않습니다.

이 서버 설명이 생성된 시간입니다.

서버 를 알 수 없음으로 표시하면 해당 설명과 last_update_time이 업데이트되기 때문입니다. 서버#last_scan을 사용하여 모니터가 서버 를 마지막으로 성공적으로 확인한 시간을 확인합니다.

반환합니다:

  • (시간)

    MongoDB Server 설명 생성 시간입니다.

이후:

  • 2.7.0



833
834
835
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 833

def last_update_time
  @last_update_time
end

#minimum_round_trip_timeFloat (읽기 전용)

마지막 hello 호출 10개가 완료되는 데 걸린 최소 시간을 반환합니다.

반환합니다:

  • (Float)

    마지막 인사 10건이 완료되는 데 걸린 최소 시간입니다.

이후:

  • 2.0.0



301
302
303
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 301

def minimum_round_trip_time
  @minimum_round_trip_time
end

인스턴스 메서드 세부 정보

#==(기타) ⇒ true, false ~ 라고도 함: eql?

두 설명이 동일한지 확인합니다.

예시:

설명 동일성을 확인합니다.

description == other

매개변수:

  • 기타 (객체)

    기타 설명입니다.

반환합니다:

  • (true, false)

    객체가 동일한지 여부입니다.

이후:

  • 2.0.6



866
867
868
869
870
871
872
873
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 866

def ==(기타)
  반환 거짓 만약 self.클래스 != 기타.클래스
  반환 거짓 만약 알 수 없음? || 기타.알 수 없음?

  (config. + 기타.config.).uniq.모두? do |k|
    config[k] == 기타.config[k] || EXCLUDE_FOR_COMPARISON.포함?(k)
  end
end

#중재자?true, false

SDAM 사양에 따라 이 서버 가 중재자 인지 여부를 반환합니다.

예시:

서버가 중재자입니까?

description.arbiter?

반환합니다:

  • (true, false)

    서버 가 중재자 인 경우.

이후:

  • 2.0.0



311
312
313
314
315
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 311

def 중재자?
  좋아? &&
    config['중재자 전용'] == true &&
    !!config['setName']
end

#중재자Array<String>

복제본 세트 의 모든 중재자 목록을 가져옵니다.

예시:

복제본 세트 에서 중재자를 가져옵니다.

description.arbiters

반환합니다:

  • (Array<String>)

    세트의 중재자입니다.

이후:

  • 2.0.0



325
326
327
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 325

def 중재자
  @arbiters ||= (config[중재자] || []).map { |s| s.downcase }
end

#data_bearing?true, false

이 설명이 데이터 보유 서버 에서 가져온 것인지(독립형, mongos, 프라이머리 또는 세컨더리).

반환합니다:

  • (true, false)

    설명이 데이터 보유 서버 에서 가져온 것인지 여부입니다.

이후:

  • 2.7.0



788
789
790
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 788

def data_bearing?
  mongos? || 프라이머리? || 세컨더리? || 독립형?
end

# Election_id ⇒BSON :: ObjectId

구성에서 ElectionId를 가져옵니다.

예시:

ElectionId를 가져옵니다.

description.election_id

반환합니다:

  • (BSON::ObjectId)

    투표 ID입니다.

이후:

  • 2.1.0



473
474
475
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 473

def Election_id
  config[ELECTION_ID]
end

#고스트?true, false

SDAM 사양에 따라 이 서버가 고스트인지 여부입니다.

예시:

서버가 고스트인가요?

description.ghost?

반환합니다:

  • (true, false)

    서버 가 고스트인 경우.

이후:

  • 2.0.0



337
338
339
340
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 337

def ghost?
  좋아? &&
    config['isreplicaset'] == true
end

#숨김?true, false

서버 가 숨겨져 있으면 true를 반환합니다.

예시:

서버 가 숨겨져 있나요?

description.hidden?

반환합니다:

  • (true, false)

    서버 가 숨겨진 경우.

이후:

  • 2.0.0



350
351
352
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 350

def 숨겨진?
  좋아? && !!config[숨김]
end

#호스트Array<String>

복제본 세트의 모든 서버 목록을 가져옵니다.

예시:

복제본 세트 의 서버를 가져옵니다.

description.hosts

반환합니다:

  • (Array<String>)

    설정하다 의 서버입니다.

이후:

  • 2.0.0



362
363
364
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 362

def 호스트
  @hosts ||= (config[호스트] || []).map { |s| s.downcase }
end

#검사string

서버 설명을 검사합니다.

예시:

서버 설명 검사

description.inspect

반환합니다:

  • (string)

    검사.

이후:

  • 2.0.0



374
375
376
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 374

def 검사
  "#<Mongo::Server:Description:0x#{object_id} config=#{config} average_round_trip_time=#{average_round_trip_time}>"
end

#is_server?(서버) ⇒ true, false

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

지정된 서버 의 설명입니다.

예시:

설명이 특정 서버의 설명인지 확인합니다.

description.is_server?(server)

반환합니다:

  • (true, false)

    서버 에서 가져온 설명인 경우

이후:

  • 2.0.6



750
751
752
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 750

def is_server?(서버)
  주소 == 서버.주소
end

#last_write_date시간

구성의 lastWrite 하위 문서에서 lastWriteDate를 가져옵니다.

예시:

lastWriteDate 값을 가져옵니다.

description.last_write_date

반환합니다:

  • (시간)

    마지막 쓰기 (write) 날짜입니다.

이후:

  • 2.4.0



538
539
540
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 538

def last_write_date
  config[LAST_WRITE][LAST_WRITE_DATE] 만약 config[LAST_WRITE]
end

#list_server?(서버) ⇒ true, false

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

이 설명의 서버 목록에 포함된 서버 입니다.

예시:

서버 설명 목록에 해당 서버 가 있는지 확인하세요.

description.lists_server?(server)

반환합니다:

  • (true, false)

    서버 설명의 서버 목록에 있는 경우.

이후:

  • 2.0.6



764
765
766
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 764

def list_server?(서버)
  서버.포함?(서버.주소.to_s)
end

#load_balancer?true | false

이 서버 가 로드 밸런서 인지 여부를 반환합니다.

반환합니다:

  • (true | false)

    이 서버 가 로드 밸런서 인지 여부입니다.

이후:

  • 2.0.0



289
290
291
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 289

def load_balancer?
  @load_balancer
end

#logical_session_timeoutInteger?

구성에서 logicalSessionTimeoutMinutes를 가져옵니다.

예시:

logicalSessionTimeoutMinutes 값을 분 단위로 가져옵니다.

description.logical_session_timeout

반환합니다:

  • (정수, nil)

    논리적 세션 시간 제한(분)입니다.

이후:

  • 2.5.0



550
551
552
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 550

def logical_session_timeout
  config[LOGical_SESSION_TIMEOUT_MINUTES] 만약 config[LOGical_SESSION_TIMEOUT_MINUTES]
end

#max_bson_object_size정수

이 서버 버전에 대한 최대 BSON 객체 크기를 가져옵니다.

예시:

최대 BSON 객체 크기를 가져옵니다.

description.max_bson_object_size

반환합니다:

  • (정수)

    최대 객체 크기(바이트)입니다.

이후:

  • 2.0.0



386
387
388
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 386

def max_bson_object_size
  config[MAX_BSON_OBJECT_SIZE]
end

#max_message_size정수

이 서버 버전의 최대 메시지 크기를 가져옵니다.

예시:

최대 메시지 크기를 가져옵니다.

description.max_message_size

반환합니다:

  • (정수)

    최대 메시지 크기(바이트)입니다.

이후:

  • 2.0.0



398
399
400
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 398

def max_message_size
  config[MAX_MESSAGE_BYTES]
end

#max_wire_versionInteger

최대 유선 버전을 가져옵니다. 기본값은 0입니다.

예시:

최대 와이어 버전을 가져옵니다.

description.max_wire_version

반환합니다:

  • (정수)

    최대 와이어 버전이 지원됩니다.

이후:

  • 2.0.0



422
423
424
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 422

def max_wire_version
  config[MAX_WIR_VERSION] || 0
end

#max_write_batch_size정수

쓰기의 최대 배치 크기를 가져옵니다.

예시:

최대 배치 크기를 가져옵니다.

description.max_write_batch_size

반환합니다:

  • (정수)

    최대 배치 크기입니다.

이후:

  • 2.0.0



410
411
412
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 410

def max_write_batch_size
  config[MAX_WRITE_BATCH_SIZE] || DEFAULT_MAX_WRITE_BACH_SIZE
end

#mestring

참고:

me 필드 의 값은 서버 설명의 주소 와 다를 수 있습니다. 예시 를 들어 분할 수평선 구성에서 이런 일이 발생할 수 있습니다. SDAM 사양은 일부 상황에서 주소 일치하지 않는 서버를 제거하도록 요구합니다(예: 해당 서버 프라이머리 아닌 RS 멤버인 경우).

me 필드 값을 가져옵니다.

반환합니다:

  • (string)

    me 필드.

이후:

  • 2.1.0



449
450
451
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 449

def 
  config[ME]
end

#me_mismatch?true, false

주소 호스팅하다 와 me 필드 간에 불일치가 있는지 확인합니다.

예시:

불일치가 있는지 확인합니다.

description.me_mismatch?

반환합니다:

  • (true, false)

    me 필드 와 주소 호스팅하다 간에 불일치가 있는 경우.

이후:

  • 2.0.6



800
801
802
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 800

def me_mismatch?
  !!(주소.to_s.downcase != .downcase 만약 )
end

#min_wire_version정수

최소 유선 버전을 가져옵니다. 기본값은 0입니다.

예시:

최소 와이어 버전을 가져옵니다.

description.min_wire_version

반환합니다:

  • (정수)

    최소 와이어 버전이 지원됩니다.

이후:

  • 2.0.0



434
435
436
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 434

def min_wire_version
  config[MIN_WIR_VERSION] || 0
end

#mongocryptd?true, false

이 설명이 mongocryptd 서버 에서 가져온 것인지 여부입니다.

반환합니다:

  • (true, false)

    이 설명이 mongocryptd 서버 에서 가져온 것인지 여부입니다.

이후:

  • 2.0.0



808
809
810
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 808

def mongocryptd?
  좋아? && config['iscryptd'] == true
end

#mongos?true, false

SDAM 사양에 따라 이 서버 가 mongos 인지 여부를 반환합니다.

예시:

서버가 mongos인가요?

description.mongos?

반환합니다:

  • (true, false)

    서버 가 mongos 경우.

이후:

  • 2.0.0



562
563
564
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 562

def mongos?
  좋아? && config['msg'] == 'isdbgrid'
end

#네?부울

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

반환합니다:

  • (부울)

이후:

  • 2.0.0



725
726
727
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 725

def 좋아?
  config[작업::결과::확인] == 1
end

#op_timeBSON::Timestamp

hello 응답의 optime 하위 문서에 있는 optime입니다.

반환합니다:

  • (BSON::Timestamp)

    타임스탬프입니다.

이후:

  • 2.7.0



817
818
819
820
821
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 817

def op_time
  반환 하지 않는 한 config['lastWrite'] && config['lastWrite']['optime']

  config['lastWrite']['optime']['ts']
end

#other?true, false

SDAM 사양에 따라 서버 가 다른 서버인지 여부를 반환합니다.

예시:

기타 유형에 대한 설명입니다.

description.other?

반환합니다:

  • (true, false)

    설명이 기타인 경우.

이후:

  • 2.0.0



574
575
576
577
578
579
580
581
582
583
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 574

def 기타?
  # SDAM 사양은 "기타"가 무엇을 의미하는지 약간 혼동됩니다.
  # 하지만 'RSOther'라고 부르며, 이는 RS가 아닌 멤버를 의미합니다.
  # 는 '기타'가 될 수 없습니다.
  좋아? &&
    !!config['setName'] && (
    config['숨김'] == true ||
    (!프라이머리? && !세컨더리? && !중재자?)
  )
end

#패시브?true, false

서버 가 패시브인 경우 true를 반환합니다.

예시:

서버가 수동적인가요?

description.passive?

반환합니다:

  • (true, false)

    서버 가 패시브인 경우.

이후:

  • 2.0.0



593
594
595
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 593

def 패시브?
  좋아? && !!config[패시브]
end

#패시브Array<String>

클러스터 의 패시브 서버 목록을 가져옵니다.

예시:

패시브를 가져옵니다.

description.passives

반환합니다:

  • (Array<String>)

    수동태 목록입니다.

이후:

  • 2.0.0



605
606
607
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 605

def 패시브
  @passives ||= (config[수동태] || []).map { |s| s.downcase }
end

#프라이머리?true, false

SDAM 사양에 따라 이 서버 가 프라이머리 서버인지 여부를 반환합니다.

예시:

서버 가 프라이머리 입니까?

description.primary?

반환합니다:

  • (true, false)

    서버 가 프라이머리 인 경우.

이후:

  • 2.0.0



629
630
631
632
633
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 629

def 프라이머리?
  좋아? &&
    (config['ismaster'] == true || config['isWritablePrimary'] == true) &&
    !!config['setName']
end

#primary_hoststring | nil

프라이머리 호스팅하다 의 주소 를 가져옵니다.

예시:

프라이머리 의 주소 를 가져옵니다.

description.primary_host

반환합니다:

  • (string | nil)

    프라이머리의 주소입니다.

이후:

  • 2.6.0



617
618
619
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 617

def primary_host
  config[PRIMARY_HOST] && config[PRIMARY_HOST].downcase
end

#replica_set_member?true, false

이 설명이 복제본 세트 멤버에 해당합니까?

예시:

설명이 복제본 세트 멤버의 것인지 확인합니다.

description.replica_set_member?

반환합니다:

  • (true, false)

    설명이 복제본 세트 멤버의 설명인 경우.

이후:

  • 2.0.6



777
778
779
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 777

def replica_set_member?
  좋아? && !(독립형? || mongos?)
end

#replica_set_namestring?

서버 가 속한 복제본 세트 의 이름을 가져오고, 없는 경우 nil을 반환합니다.

예시:

복제본 세트 이름을 가져옵니다.

description.replica_set_name

반환합니다:

  • (string, nil)

    복제본 세트의 이름입니다.

이후:

  • 2.0.0



644
645
646
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 644

def replica_set_name
  config[SET_NAME]
end

#세컨더리?true, false

SDAM 사양에 따라 이 서버 가 세컨더리 서버인지 여부를 반환합니다.

예시:

서버 가 세컨더리 인가요?

description.secondary?

반환합니다:

  • (true, false)

    서버 가 세컨더리 인 경우.

이후:

  • 2.0.0



668
669
670
671
672
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 668

def 세컨더리?
  좋아? &&
    config['secondary'] == true &&
    !!config['setName']
end

#server_connection_id객체

이후:

  • 2.0.0



845
846
847
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 845

def server_connection_id
  config['connectionId']
end

#server_type기호

서버 유형을 기호로 반환합니다.

예시:

서버 유형을 가져옵니다.

description.server_type

반환합니다:

  • (기호)

    서버 유형입니다.

이후:

  • 2.4.0



682
683
684
685
686
687
688
689
690
691
692
693
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 682

def server_type
  반환 :load_balancer 만약 load_balancer?
  반환 : 중재자 만약 중재자?
  반환 :ghost 만약 ghost?
  반환 :sharded 만약 mongos?
  반환 :primary 만약 프라이머리?
  반환 :secondary 만약 세컨더리?
  반환 : 독립형 만약 독립형?
  반환 : other 만약 기타?

  :unknown
end

#server_version_gte?(version) ⇒ Boolean

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

반환합니다:

  • (부울)

다음을 발생시킵니다.

  • (NotImplementedError)

이후:

  • 2.0.0



890
891
892
893
894
895
896
897
898
899
900
901
902
903
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 890

def server_version_gte?(버전)
  만약 load_balancer?
    # 로드 밸런서와 통신하는 경우 모니터링이 이루어지지 않습니다.
    # 로드 밸런서 뒤에 어떤 서버 가 있는지 알 수 없습니다.
    # 모든 것이 지원된다고 가정합니다.
    # TODO RUBY-2220 구현 시 이 항목을 제거 합니다.
    반환 true
  end

  require_wv = SERVER_VERSION_WIRE_VERSION_MAP[버전]
  올리다 NotImplementedError, "예기치 않은 서버 버전 #{version.inspect}" 하지 않는 한 require_wv

  require_wv <= max_wire_version
end

#서버Array<String>

클러스터 에 알려진 모든 서버의 목록을 가져옵니다.

예시:

모든 서버를 가져옵니다.

description.servers

반환합니다:

  • (Array<String>)

    모든 서버의 목록입니다.

이후:

  • 2.0.0



656
657
658
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 656

def 서버
  호스트 + 중재자 + 패시브
end

#service_idnil | 객체

서비스 ID(있는 경우)를 반환합니다.

반환합니다:

  • (nil | 객체)

    서비스 ID(있는 경우)입니다.

이후:

  • 2.0.0



852
853
854
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 852

def service_id
  config['serviceId']
end

#set_versionInteger

구성에서 setVersion을 가져옵니다.

예시:

setVersion을 가져옵니다.

description.set_version

반환합니다:

  • (정수)

    설정하다 버전입니다.

이후:

  • 2.2.2



485
486
487
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 485

def set_version
  config[SET_VERSION]
end

#독립형?true, false

SDAM 사양에 따라 이 서버 가 독립형 인지 여부를 반환합니다.

예시:

서버 가 독립형 입니까?

description.standalone?

반환합니다:

  • (true, false)

    서버 가 독립형 인 경우.

이후:

  • 2.0.0



703
704
705
706
707
708
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 703

def 독립형?
  좋아? &&
    config['msg'] != 'isdbgrid' &&
    config['setName'].nil? &&
    config['isreplicaset'] != true
end

#태그해시

서버 에 대해 구성된 태그를 가져옵니다.

예시:

태그를 가져옵니다.

description.tags

반환합니다:

  • (해시)

    서버 의 태그입니다.

이후:

  • 2.0.0



461
462
463
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 461

def tags
  config[태그] || {}
end

#topology_versionTopologyVersion | nil

토폴로지 버전을 반환합니다.

반환합니다:

이후:

  • 2.0.0



490
491
492
493
494
495
496
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 490

def topology_version
  하지 않는 한 정의됨?(@topology_version)
    @topology_version = config['topologyVersion'] &&
                        토폴로지 버전.신규(config['topologyVersion'])
  end
  @topology_version
end

#topology_version_gt?(other_desc) ⇒ true | false

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

이 설명의 토폴로지 버전이 잠재적으로 다른 설명의 토폴로지 버전보다 최신이거나 동일한지 여부를 반환합니다.

매개변수:

반환합니다:

  • (true | false)

    이 설명의 토폴로지 버전이 잠재적으로 최신이거나 동일한지 여부입니다.

이후:

  • 2.0.0



506
507
508
509
510
511
512
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 506

def topology_version_gt?(other_desc)
  만약 topology_version.nil? || other_desc.topology_version.nil?
    true
  other
    topology_version.gt?(other_desc.topology_version)
  end
end

#topology_version_gte?(other_desc) ⇒ true | false

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

이 설명의 토폴로지 버전이 다른 설명의 토폴로지 버전보다 잠재적으로 최신인지 여부를 반환합니다.

매개변수:

반환합니다:

  • (true | false)

    이 설명의 토폴로지 버전이 잠재적으로 최신인지 여부입니다.

이후:

  • 2.0.0



522
523
524
525
526
527
528
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 522

def topology_version_gte?(other_desc)
  만약 topology_version.nil? || other_desc.topology_version.nil?
    true
  other
    topology_version.gte?(other_desc.topology_version)
  end
end

#알 수 없음?true, false

SDAM 사양에 따라 이 서버 가 알 수 없는 서버인지 여부를 반환합니다.

예시:

서버 설명을 알 수 없습니까?

description.unknown?

반환합니다:

  • (true, false)

    서버 설명을 알 수 없는 경우.

이후:

  • 2.0.0



718
719
720
721
722
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 718

def 알 수 없음?
  반환 거짓 만약 load_balancer?

  config.비어 있나요? || config. == %w[topologyVersion] || !좋아?
end

#wire_versions범위

서버 에 대해 지원되는 유선 버전의 범위 를 가져옵니다.

예시:

유선 버전 범위 를 가져옵니다.

description.wire_versions

반환합니다:

  • (범위)

    와이어 버전 범위입니다.

이후:

  • 2.0.0



737
738
739
# 파일 'lib/ Mongo/ 서버/description.rb', 줄 737

def Wire_versions
  min_wire_version..max_wire_version
end