클래스: Mongo::Error::Parser Private
- 상속:
-
객체
- 객체
- Mongo::Error::Parser
- 다음을 포함합니다.
- S담 오류 감지
- 다음에 정의됨:
- build/ruby-driver-v2.19/lib/mongo/error/parser.rb
개요
이 클래스는 비공개 API의 일부입니다. 이 클래스는 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
MongoDB 명령 응답에서 오류가 발생할 수 있는 다양한 형식을 구문 분석하기 위한 클래스입니다.
서버는 여러 가지 방법으로 오류를 보고할 수 있습니다.
-
ok:0 응답이 실패를 나타냅니다. 최신 서버에서는 코드, codeName 및 ermsg 필드를 설정해야 합니다. 이전 서버에서는 일부 설정이 되지 않을 수 있습니다.
-
ok: 쓰기 고려 오류가 있는 1 응답(writeConcernError 최상위 필드). 이는 응답하는 노드가 요청을 성공적으로 실행했지만 쓰기 고려를 충족할 만큼 요청을 성공적으로 실행한 노드가 충분하지 않았음을 나타냅니다.
-
ok:1 응답에 writeErrors 최상위 필드 가 포함됩니다. 이는 대량 쓰기 (write) 뿐만 아니라 대량 쓰기 (write) 가 아닌 에서도 얻을 수 있습니다. 대량 쓰기 (write) 가 아닌 경우 writeErrors 목록에 정확히 하나의 오류가 있어야 합니다. 오류가 여러 개인 경우는 BulkWrite::Result에서 처리합니다.
-
ok: writeConcernErrors 최상위 필드가 포함된 1 응답입니다. 이는 대량 쓰기에서만 얻을 수 있으며 이 클래스가 아닌 BulkWrite::Result에 의해 처리됩니다.
writeErrors에는 codeName 필드가 없으며 코드와 메시지만 제공합니다. writeConcernErrors는 마찬가지로 코드 이름을 제공하지 않을 수 있습니다.
상수 요약
SdamErrorDetection에 포함된 상수
SdamErrorDetection::NODE_RECOVERING_CODES, SdamErrorDetection::NODE_SHUTTING_DOWN_CODES, SdamErrorDetection::NOT_MASTER_CODES
인스턴스 속성 요약 접기
-
#코드 ⇒ 정수
읽기 전용
비공개
문서에서 구문 분석된 오류 코드입니다.
-
#code_name ⇒ string
읽기 전용
비공개
문서에서 구문 분석된 오류 코드 이름입니다.
-
#문서 ⇒ BSON::Document
읽기 전용
비공개
반환된 문서입니다.
-
#레이블 ⇒ Array<String>
읽기 전용
비공개
오류와 관련된 레이블 집합입니다.
-
#메시지 ⇒ string
읽기 전용
비공개
발생한 예외에 사용할 전체 오류 메시지입니다.
-
#replies ⇒ Array<Protocol::Message>
읽기 전용
비공개
메시지가 응답합니다.
-
#server_message ⇒ string
읽기 전용
비공개
응답에서 구문 분석된 서버 반환 오류 메시지입니다.
- #wtimeout ⇒ 객체 읽기 전용 비공개
클래스 메서드 요약 접기
인스턴스 메서드 요약 접기
-
#initialize(document, replies = nil, options = nil) ⇒ 구문 분석기
생성자
비공개
반환 문서 로 새 구문 분석기를 만듭니다.
-
#write_concern_error? ⇒ true | false
문서에 쓰기 고려 오류가 포함되어 있는지 여부입니다.
-
#write_concern_error_code ⇒ 정수 | nil
쓰기 고려 오류가 존재하고 코드가 있는 경우 쓰기 고려 오류에 대한 오류 코드입니다.
-
#write_concern_error_code_name ⇒ string | nil
쓰기 고려 (write concern) 쓰기 고려 (write concern) 의 코드 이름입니다.
-
#write_concern_error_document ⇒ 해시 | nil
서버에서 보고한 쓰기 고려 오류 문서(있는 경우)를 반환합니다.
-
#write_concern_error_labels ⇒ Array<String> | nil
비공개
쓰기 고려 오류(쓰기 고려 오류가 있는 경우)입니다.
SdamErrorDetection에 포함된 메서드
#node_recovering?, #node_shutting_down?, #not_master?
생성자 세부 정보
#initialize(문서, replies = nil, options = nil) ⇒ 구문 분석기
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
반환 문서 로 새 구문 분석기를 만듭니다.
레거시 모드에서는 상태( ok: 1)가 문서의 일부가 아니며 문서 자체를 사용하여 성공한 응답과 실패한 응답을 구별할 수 있는 방법이 없기 때문에 문서의 코드 및 codeName 필드가 검사되지 않으며 성공적인 응답은 응답은 사용자가 삽입한 문서의 내용으로 합법적으로 { code: 123, codeName: 'foo' }를 가질 수 있습니다. 레거시 서버 버전은 코드나 codeName을(를) 작성하지 않으므로 이를 읽지 않아도 정보가 손실되지 않습니다.
122 123 124 125 126 127 128 129 130 131 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/error/parser.rb', 줄 122 def 초기화(문서, 답장 = nil, = nil) @document = 문서 || {} @replies = 답장 @options = 만약 .dup other {} end.동결 구문 분석! end |
인스턴스 속성 세부 정보
#코드 ⇒ 정수 (읽기 전용)
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
반환값 문서 에서 구문 분석된 오류 코드를 반환합니다.
88 89 90 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/error/parser.rb', 줄 88 def 코드 @code end |
#code_name ⇒ string (읽기 전용)
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
반환값 문서에서 구문 분석된 오류 코드 이름을 반환합니다.
92 93 94 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/error/parser.rb', 줄 92 def code_name @code_name end |
#문서 ⇒ BSON::Document (읽기 전용)
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
반환된 문서 를 반환합니다.
73 74 75 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/error/parser.rb', 줄 73 def 문서 @document end |
#레이블 ⇒ Array<String> (읽기 전용)
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
오류와 관련된 레이블 집합을 반환합니다.
96 97 98 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/error/parser.rb', 줄 96 def labels @labels end |
#메시지 ⇒ string (읽기 전용)
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
발생한 예외에 사용할 전체 오류 메시지를 반환합니다.
77 78 79 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/error/parser.rb', 줄 77 def @message end |
#replies ⇒ Array<Protocol::Message> (readonly)
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
메시지 회신을 반환합니다.
84 85 86 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/error/parser.rb', 줄 84 def 답장 @replies end |
#server_message ⇒ string (읽기 전용)
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
응답에서 구문 분석된 서버 반환 오류 메시지를 반환합니다.
81 82 83 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/error/parser.rb', 줄 81 def @server_message end |
#wtimeout ⇒ 객체 (읽기 전용)
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
99 100 101 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/error/parser.rb', 줄 99 def w 시간 초과 @wtimeout end |
클래스 메서드 세부 정보
.build_message(code: nil, code_name: nil, message: nil) ⇒ 객체
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
177 178 179 180 181 182 183 184 185 186 187 188 189 190 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/error/parser.rb', 줄 177 def (코드: nil, code_name: nil, 메시지: nil) 만약 code_name && 코드 "[#{code}:#{code_name}]: #{}" elsif code_name # 코드 이름이 있는 경우에는 절대 이런 일이 발생하지 않아야 합니다. # 제공된 코드도 있어야 합니다. # 완전성을 위해 이 사례를 처리합니다. "[#{code_name}]: #{}" elsif 코드 "[#{코드}]: #{}" other end end |
인스턴스 메서드 세부 정보
#write_concern_error? ⇒ true | false
반환값 문서에 쓰기 고려 오류가 포함되어 있는지 여부를 반환합니다. 실패에는 최상위 오류와 쓰기 고려 오류 또는 둘 중 하나가 있을 수 있습니다.
139 140 141 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/error/parser.rb', 줄 139 def write_concern_error? !!write_concern_error_document end |
#write_concern_error_code ⇒ 정수 | nil
쓰기 고려 오류가 있고 코드가 있는 경우 쓰기 고려 오류에 대한 오류 코드를 반환합니다.
157 158 159 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/error/parser.rb', 줄 157 def write_concern_error_code write_concern_error_document && write_concern_error_document['코드'] end |
#write_concern_error_code_name ⇒ string | nil
쓰기 고려 오류가 있고 코드명이 있는 경우 쓰기 고려 오류에 대한 코드 이름을 반환합니다.
166 167 168 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/error/parser.rb', 줄 166 def write_concern_error_code_name write_concern_error_document && write_concern_error_document['codeName'] end |
#write_concern_error_document ⇒ 해시 | nil
서버에서 보고한 쓰기 고려 오류 문서(있는 경우)를 반환합니다.
148 149 150 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/error/parser.rb', 줄 148 def write_concern_error_document 문서['writeConcernError'] end |
#write_concern_error_labels ⇒ Array<String> | nil
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
쓰기 고려 오류(쓰기 고려 오류가 있는 경우)입니다.
172 173 174 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/error/parser.rb', 줄 172 def write_concern_error_labels write_concern_error_document && write_concern_error_document['errorLabels'] end |