클래스: Mongo::ClusterTime Private

상속:
BSON::Document
  • 객체
모두 표시
다음을 포함합니다.
Comparable
다음에 정의됨:
lib/ Mongo/cluster_time.rb

개요

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

ClusterTime은 클러스터 시간 저장 및 작업을 캡슐화합니다.

클러스터 시간에 수행되는 프라이머리 작업은 클러스터 시간을 앞당기는 것입니다: 다른 클러스터 시간이 주어지면 둘 중 더 새로운 시간을 선택합니다.

이 클래스는 어떤 클러스터 시간이 최신인지 파악하는 데 사용되는 비교 메서드를 제공하고, 클러스터 시간 문서에서 실제 시간이 누락된 경우 린트 모드에서 진단을 제공합니다.

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

모듈: 소비자

클래스 메서드 요약 접기

인스턴스 메서드 요약 접기

생성자 세부 정보

#initialize(elements = nil) ⇒ ClusterTime

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

ClusterTime의 새 인스턴스를 반환합니다.

다음을 발생시킵니다.

  • (ArgumentError)


31
32
33
34
35
36
37
# 파일 'lib/ Mongo/cluster_time.rb', 줄 31

def 초기화(요소 = nil)
  super

  반환 하지 않는 한 Lint.활성화? && !self['clusterTime']

  올리다 ArgumentError, 'clusterTime 필드 없이 클러스터 시간 생성'
end

클래스 메서드 세부 정보

.[](doc) ⇒ 객체

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

BSON::Document를 ClusterTime으로 변환합니다.

doc 은 nil일 수 있으며, 이 경우 nil이 반환됩니다.



81
82
83
84
85
86
87
# 파일 'lib/ Mongo/cluster_time.rb', 줄 81

def [](doc)
  만약 doc.nil? || doc.is_a?(ClusterTime)
    doc
  other
    ClusterTime.신규(doc)
  end
end

인스턴스 메서드 세부 정보

#<=>(기타) ⇒ 객체

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

타임스탬프를 비교하여 두 ClusterTime 인스턴스를 비교합니다.



56
57
58
59
60
61
62
63
64
65
# 파일 'lib/ Mongo/cluster_time.rb', 줄 56

def <=>(기타)
  만약 self['clusterTime'] && 기타['clusterTime']
    self['clusterTime'] <=> 기타['clusterTime']
  elsif !self['clusterTime']
    올리다 ArgumentError, "수신자에 clusterTime 키가 누락된 경우 클러스터 시간을 비교할 수 없습니다: #{검사}"
  other
    기타['clusterTime']
    올리다 ArgumentError, "other 에 clusterTime 키가 누락된 경우 클러스터 시간을 비교할 수 없습니다: #{other.검사}"
  end
end

#==(기타) ⇒ 객체

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

타임스탬프를 비교하여 두 ClusterTime 인스턴스를 비교합니다.



68
69
70
71
72
73
74
75
# 파일 'lib/ Mongo/cluster_time.rb', 줄 68

def ==(기타)
  만약 self['clusterTime'] && 기타['clusterTime'] &&
     self['clusterTime'] == 기타['clusterTime']
    true
  other
    거짓
  end
end

#advanced(기타) ⇒ 객체

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

수신기의 클러스터 시간을 other 단위의 클러스터 시간으로 앞당깁니다.

other nil이거나 수신자에서 클러스터 시간보다 늦을 수 있습니다. 이 경우 수신자는 수정되지 않은 상태로 반환됩니다. 수신자가 고급인 경우 새 ClusterTime 객체가 반환됩니다.

반환 값은 nil 또는 ClusterTime 인스턴스 입니다.



46
47
48
49
50
51
52
53
# 파일 'lib/ Mongo/cluster_time.rb', 줄 46

def 사전(기타)
  만약 self['clusterTime'] && 기타['clusterTime'] &&
     기타['clusterTime'] > self['clusterTime']
    ClusterTime[기타]
  other
    self
  end
end