클래스: Mongo::Server::Description

상속:
객체
  • 객체
모두 표시
다음에 정의됨:
빌드/ Ruby-driver-v2.19/lib/mongo/ 서버/description.rb,
빌드/ Ruby-driver-v2.19/lib/mongo/ 서버/description/features.rb,
빌드/ Ruby-driver-v2.19/lib/mongo/ 서버/description/load_balancer.rb

개요

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

참고: 알 수 없는 서버에는 와이어 버전이 없지만, 레거시 이유로 인해 와이어 버전이 없는 서버 의 min_wire_version 및 max_wire_version에 대해 0 을 반환합니다. 현재 운전자 는 서버 를 알 수 없을 때 명령을 구성하는 경우가 있으므로 min_wire_version 및 max_wire_version에 대한 참조가 nil이 되어서는 안 됩니다. 운전자 동작이 변경된 경우(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

'hosts'.동결
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

'me'.동결
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

'secondary'.동결
SET_NAME =

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

이후:

  • 2.0.0

'setName'.동결
태그 =

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

'operationTime'.동결
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,
].동결

인스턴스 속성 요약 접기

인스턴스 메서드 요약 접기

생성자 세부 정보

#initialize(address, config = {},average_round_trip_time: nil, load_balancer: false, force_load_balancer: false) ⇒ 설명

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

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

예시:

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

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

매개변수:

  • 주소 (주소)

    서버 주소 입니다.

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

    hello 명령의 결과입니다.

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

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

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

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

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

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

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

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

이후:

  • 2.0.0



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
279
280
281
282
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 220

def 초기화(주소, config = {}, 평균 왕복 시간: nil,
  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 = 평균 왕복 시간
  @last_update_time = 시간.지금.동결
  @last_update_monotime = Utils.단조적 시간

  만약 load_balancer
    # 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 이 완료되면 이를 제거합니다.
    만약 좋아? && !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
  end

  만약 mongo::Lint.활성화?
    # 캐시 인스턴스 변수 미리 채우기
    호스트
    중재자
    패시브
    topology_version

    동결
  end
end

인스턴스 속성 세부 정보

#주소주소 (읽기 전용)

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

반환합니다:

  • (주소)

    주소 서버의 주소.

이후:

  • 2.0.0



285
286
287
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 285

def 주소
  @address
end

#average_round_trip_timeFloat (읽기 전용)

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

반환합니다:

  • (Float)

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

이후:

  • 2.0.0



303
304
305
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 303

def 평균 왕복 시간
  @average_round_trip_time
end

#config해시 (읽기 전용)

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

반환합니다:

  • (해시)

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

이후:

  • 2.0.0



288
289
290
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 288

def config
  @config
end

#last_update_monotimeFloat (읽기 전용)

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

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

반환합니다:

  • (Float)

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

다음도 참조하세요.

  • 자세한 내용은

이후:

  • 2.0.0



835
836
837
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 835

def last_update_monotime
  @last_update_monotime
end

#last_update_time시간 (읽기 전용)

참고:

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

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

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

반환합니다:

  • (시간)

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

이후:

  • 2.7.0



826
827
828
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 826

def last_update_time
  @last_update_time
end

인스턴스 메서드 세부 정보

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

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

예시:

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

description == other

매개변수:

  • 기타 (객체)

    기타 설명입니다.

반환합니다:

  • (true, false)

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

이후:

  • 2.0.6



859
860
861
862
863
864
865
866
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 859

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



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

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

#중재자Array<String>

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

예시:

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

description.arbiters

반환합니다:

  • (Array<String>)

    세트의 중재자입니다.

이후:

  • 2.0.0



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

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

#data_bearing?true, false

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

반환합니다:

  • (true, false)

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

이후:

  • 2.7.0



789
790
791
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 789

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

# Election_id ⇒BSON :: ObjectId

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

예시:

ElectionId를 가져옵니다.

description.election_id

반환합니다:

  • (BSON::ObjectId)

    투표 ID입니다.

이후:

  • 2.1.0



475
476
477
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 475

def Election_id
  config[ELECTION_ID]
end

기능 #기능기능

기능을 반환 서버.

반환합니다:

  • (기능)

    기능 서버의 기능입니다.

이후:

  • 2.0.0



298
299
300
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 298

def 기능
  @features
end

#고스트?true, false

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

예시:

서버가 고스트인가요?

description.ghost?

반환합니다:

  • (true, false)

    서버 가 고스트인 경우.

이후:

  • 2.0.0



339
340
341
342
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 339

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

#숨김?true, false

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

예시:

서버 가 숨겨져 있나요?

description.hidden?

반환합니다:

  • (true, false)

    서버 가 숨겨진 경우.

이후:

  • 2.0.0



352
353
354
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 352

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

#호스트Array<String>

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

예시:

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

description.hosts

반환합니다:

  • (Array<String>)

    설정하다 의 서버입니다.

이후:

  • 2.0.0



364
365
366
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 364

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

#검사string

서버 설명을 검사합니다.

예시:

서버 설명 검사

description.inspect

반환합니다:

  • (string)

    검사.

이후:

  • 2.0.0



376
377
378
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 376

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



751
752
753
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 751

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

#last_write_date시간

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

예시:

lastWriteDate 값을 가져옵니다.

description.last_write_date

반환합니다:

  • (시간)

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

이후:

  • 2.4.0



540
541
542
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 540

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



765
766
767
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 765

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

#load_balancer?true | false

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

반환합니다:

  • (true | false)

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

이후:

  • 2.0.0



293
294
295
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 293

def load_balancer?
  @load_balancer
end

#logical_session_timeoutInteger?

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

예시:

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

description.logical_session_timeout

반환합니다:

  • (정수, nil)

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

이후:

  • 2.5.0



552
553
554
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 552

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



388
389
390
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 388

def max_bson_object_size
  config[MAX_BSON_OBJECT_SIZE]
end

#max_message_size정수

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

예시:

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

description.max_message_size

반환합니다:

  • (정수)

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

이후:

  • 2.0.0



400
401
402
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 400

def max_message_size
  config[MAX_MESSAGE_BYTES]
end

#max_wire_versionInteger

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

예시:

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

description.max_wire_version

반환합니다:

  • (정수)

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

이후:

  • 2.0.0



424
425
426
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 424

def max_wire_version
  config[MAX_WIR_VERSION] || 0
end

#max_write_batch_size정수

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

예시:

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

description.max_write_batch_size

반환합니다:

  • (정수)

    최대 배치 크기입니다.

이후:

  • 2.0.0



412
413
414
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 412

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



451
452
453
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 451

def 
  config[ME]
end

#me_mismatch?true, false

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

예시:

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

description.me_mismatch?

반환합니다:

  • (true, false)

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

이후:

  • 2.0.6



801
802
803
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 801

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

#min_wire_version정수

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

예시:

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

description.min_wire_version

반환합니다:

  • (정수)

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

이후:

  • 2.0.0



436
437
438
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 436

def min_wire_version
  config[MIN_WIR_VERSION] || 0
end

#mongos?true, false

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

예시:

서버가 mongos인가요?

description.mongos?

반환합니다:

  • (true, false)

    서버 가 mongos 경우.

이후:

  • 2.0.0



564
565
566
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 564

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

#네?부울

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

반환합니다:

  • (부울)

이후:

  • 2.0.0



725
726
727
728
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 725

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

#op_timeBSON::Timestamp

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

반환합니다:

  • (BSON::Timestamp)

    타임스탬프입니다.

이후:

  • 2.7.0



810
811
812
813
814
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 810

def op_time
  만약 config['lastWrite'] && config['lastWrite']['optime']
    config['lastWrite']['optime']['ts']
  end
end

#other?true, false

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

예시:

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

description.other?

반환합니다:

  • (true, false)

    설명이 기타인 경우.

이후:

  • 2.0.0



576
577
578
579
580
581
582
583
584
585
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 576

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

#패시브?true, false

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

예시:

서버가 수동적인가요?

description.passive?

반환합니다:

  • (true, false)

    서버 가 패시브인 경우.

이후:

  • 2.0.0



595
596
597
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 595

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

#패시브Array<String>

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

예시:

패시브를 가져옵니다.

description.passives

반환합니다:

  • (Array<String>)

    수동태 목록입니다.

이후:

  • 2.0.0



607
608
609
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 607

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

#프라이머리?true, false

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

예시:

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

description.primary?

반환합니다:

  • (true, false)

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

이후:

  • 2.0.0



631
632
633
634
635
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 631

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

#primary_hoststring | nil

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

예시:

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

description.primary_host

반환합니다:

  • (string | nil)

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

이후:

  • 2.6.0



619
620
621
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 619

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



778
779
780
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 778

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

#replica_set_namestring?

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

예시:

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

description.replica_set_name

반환합니다:

  • (string, nil)

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

이후:

  • 2.0.0



646
647
648
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 646

def replica_set_name
  config[SET_NAME]
end

#세컨더리?true, false

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

예시:

서버 가 세컨더리 인가요?

description.secondary?

반환합니다:

  • (true, false)

    서버 가 세컨더리 인 경우.

이후:

  • 2.0.0



670
671
672
673
674
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 670

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

#server_connection_id객체

이후:

  • 2.0.0



838
839
840
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 838

def server_connection_id
  config['connectionId']
end

#server_type기호

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

예시:

서버 유형을 가져옵니다.

description.server_type

반환합니다:

  • (기호)

    서버 유형입니다.

이후:

  • 2.4.0



684
685
686
687
688
689
690
691
692
693
694
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 684

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

#server_version_gte?(version) ⇒ Boolean

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

반환합니다:

  • (부울)

이후:

  • 2.0.0



870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 870

def server_version_gte?(버전)
  require_wv = case 버전
    when '7.0'
      21
    when '6.0'
      17
    when '5.2'
      15
    when '5.1'
      14
    when '5.0'
      12
    when '4.4'
      9
    when '4.2'
      8
    when '4.0'
      7
    when '3.6'
      6
    when '3.4'
      5
    when '3.2'
      4
    when '3.0'
      3
    when '2.6'
      2
    other
      올리다 ArgumentError, "가짜 필수 버전 #{버전}"
    end

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

  require_wv >= min_wire_version && require_wv <= max_wire_version
end

#서버Array<String>

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

예시:

모든 서버를 가져옵니다.

description.servers

반환합니다:

  • (Array<String>)

    모든 서버의 목록입니다.

이후:

  • 2.0.0



658
659
660
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 658

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

#service_idnil | 객체

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

반환합니다:

  • (nil | 객체)

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

이후:

  • 2.0.0



845
846
847
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 845

def service_id
  config['serviceId']
end

#set_versionInteger

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

예시:

setVersion을 가져옵니다.

description.set_version

반환합니다:

  • (정수)

    설정하다 버전입니다.

이후:

  • 2.2.2



487
488
489
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 487

def set_version
  config[SET_VERSION]
end

#독립형?true, false

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

예시:

서버 가 독립형 입니까?

description.standalone?

반환합니다:

  • (true, false)

    서버 가 독립형 인 경우.

이후:

  • 2.0.0



704
705
706
707
708
709
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 704

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

#태그해시

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

예시:

태그를 가져옵니다.

description.tags

반환합니다:

  • (해시)

    서버 의 태그입니다.

이후:

  • 2.0.0



463
464
465
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 463

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

#topology_versionTopologyVersion | nil

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

반환합니다:

이후:

  • 2.0.0



492
493
494
495
496
497
498
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 492

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



508
509
510
511
512
513
514
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 508

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



524
525
526
527
528
529
530
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 524

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



719
720
721
722
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 719

def 알 수 없음?
  반환 거짓 만약 load_balancer?
  config.비어 있나요? || config. == %w(topologyVersion) || !좋아?
end

#wire_versions범위

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

예시:

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

description.wire_versions

반환합니다:

  • (범위)

    와이어 버전 범위입니다.

이후:

  • 2.0.0



738
739
740
# 파일 'build/ruby-driver-v2.19/lib/mongo/server/description.rb', 줄 738

def Wire_versions
  min_wire_version..max_wire_version
end