クラス: Mongo::Error::Parser Private

継承:
オブジェクト
  • オブジェクト
すべて表示
次のことが含まれます。
SdumpErrorDeleted
定義:
build/ruby-Driver-v 2.19 /lib/mongo/error/parser.rb

Overview

このクラスは、プライベート API の一部です。 このクラスは将来削除または変更される可能性があるため、可能な限り使用しないでください。

MongoDB コマンドの応答から受信する可能性のあるさまざまな形式でエラーを解析するためのクラスです。

エラーは、サーバーによってさまざまな方法で報告されます。

  • OK: 0応答は失敗を示します。 新しいサーバーでは、code、codeName、および ermsg フィールドを設定する必要があります。 古いサーバーでは、一部の が設定されていない場合があります。

  • OK: 書込み保証 (write concern) エラー(writeConcernError 最上位フィールド)を含む1の応答。 これは、応答するノードによってリクエストが正常に実行されたが、書込み保証 (write concern) を満たすために十分な他のノードがリクエストを正常に実行しなかったことを示しています。

  • k: 1応答と writeErrors 最上位フィールド これは、一括書き込みで取得できますが、非一括書き込みでも取得できます。 非一括書き込みでは、writeErrors リスト内のエラーは 1 つだけ表示される必要があります。 複数のエラーが発生した場合は BulkWrite::Result によって処理されます。

  • k: 1応答と writeConcernErrors 最上位フィールド これは一括書き込みでのみ取得でき、このクラスではなく BulkWrite::Result によって処理されます。

writeErrors には CodeName フィールドがないことに注意してください。コードとメッセージのみを提供するためです。 writeConcernErrors も同様に、コード名を提供しない場合があります。

以来

  • 2.0.0

定数の概要

Sdu Managerに含まれる定数

SdumError Processing::NOD_RECOVERING_CODES 、 SされたError検出::NODE_SHUTTING_DNS_CODES 、 SされたErrorDeleted::NOT_MASTER_CODES

インスタンス属性の概要を折りたたむ

クラスメソッドの概要を折りたたむ

インスタンス メソッドの概要を折りたたむ

Sされたエラーの検出に含まれるメソッド

#node_reactive?#node_shupping_down#not_ Master か。

コンストラクターの詳細

#初期化(ドキュメント、応答 = nil、オプション = nil) = nil) =パーサー

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

返されたドキュメントを使用して新しいパーサーを作成します。

レガシーモードでは、ドキュメントのコードフィールドとcodeNameフィールドは検査されません。ステータス(ok: 1 )はドキュメントの一部ではなく、ドキュメント自体を使用して成功した応答と失敗した応答を区別する方法がないため、成功した応答には、ユーザーが挿入したドキュメントの内容として {code: 123 、codeName: 'foo' } が含まれている可能性があります。 レガシー サーバー バージョンでは、コードもcodeName も入力されていないため、読み取られない場合には情報が失われることはありません。

例:

新しいパーサーを作成します。

Parser.new({ 'errmsg' => 'failed' })

パラメーター:

  • ドキュメント BSON::Document

    返されたドキュメント。

  • 応答 (Array<Protocol::Message>) (デフォルトはnil

    メッセージが応答します。

  • options ハッシュ (デフォルトはnil

    オプション。

オプション ハッシュ( options ):

  • :legacy true | false

    ドキュメントと応答がレガシー( 3.2より前)からのものであるかどうか 応答

以来

  • 2.0.0



122
123
124
125
126
127
128
129
130
131
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/error/parser.rb', 行122

デフォルト 初期化(ドキュメント, 応答 = nil, options = nil)
  @document = ドキュメント || {}
  @reprise = 応答
  @options = 場合 options
    options.dup
  else
    {}
  end.freeze
  parse!
end

インスタンス属性の詳細

コード整数(読み取り専用)

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

ドキュメントから解析されたエラー コードを返します。

次の値を返します。

  • (整数)

    ドキュメントから解析されたエラー コード。

以来

  • 2.6.0



88
89
90
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/error/parser.rb', 行88

デフォルト コード
  @code
end

#code_name = string (読み取り専用)

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

ドキュメントから解析されたエラー コード名を返します。

次の値を返します。

  • ( string )

    ドキュメントから解析されたエラー コード名。

以来

  • 2.6.0



92
93
94
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/error/parser.rb', 行92

デフォルト Code_name
  @code_name
end

#ドキュメント= BSON::Document (読み取り専用)

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

返されたドキュメントを返します。

次の値を返します。

  • BSON::Document

    返されたドキュメント。

以来

  • 2.0.0



73
74
75
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/error/parser.rb', 行73

デフォルト ドキュメント
  @document
end

# ラベル = 配列=string <String>=(読み取り専用)

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

エラーに関連付けられたラベルのセットを返します。

次の値を返します。

  • <String>配列未満

    エラーに関連付けられたラベルのセット。

以来

  • 2.7.0



96
97
98
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/error/parser.rb', 行96

デフォルト labels
  @ labels
end

#メッセージ= string (読み取り専用)

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

発生した例外で使用する完全なエラーメッセージを返します。

次の値を返します。

  • ( string )

    発生した例外で使用する完全なエラーメッセージ。

以来

  • 2.0.0



77
78
79
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/error/parser.rb', 行77

デフォルト メッセージ
  @message
end

#repliesArray<Protocol::Message> (readonly)

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

メッセージが応答します。

次の値を返します。

以来

  • 2.0.0



84
85
86
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/error/parser.rb', 行84

デフォルト 応答
  @reprise
end

# server_message = string (読み取り専用)

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

応答から解析されたサーバーによって返されたエラー メッセージを返します。

次の値を返します。

  • ( string )

    応答から解析されたサーバーが返すエラー メッセージ。

以来

  • 2.0.0



81
82
83
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/error/parser.rb', 行81

デフォルト server_message
  @server_message
end

# wtimeout =オブジェクト(読み取り専用)

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

以来

  • 2.0.0



99
100
101
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/error/parser.rb', 行99

デフォルト wtimeout
  @wtimeout
end

クラスメソッドの詳細

build_message (コード: nil、code_name: nil、message: nil) =オブジェクト

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

以来

  • 2.0.0



177
178
179
180
181
182
183
184
185
186
187
188
189
190
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/error/parser.rb', 行177

デフォルト build_message(コード: nil, Code_name: nil, メッセージ: nil)
  場合 Code_name & & コード
    " [ #{ code } : #{ code_name } ]: #{ message } "
  elsif Code_name
    # コード名がある場合は、これは絶対に発生しないはずです
    # コードも提供する必要があります。
    # 完全性を高めるために、このケースを処理します。
    " [ #{ code_name } ]: #{ message } "
  elsif コード
    " [ #{ code } ]: #{ message } "
  else
    メッセージ
  end
end

インスタンス メソッドの詳細

#write_concern_error = true | false

ドキュメントに書込み保証 (write concern) エラーが含まれているかどうかを返します。 障害には、最上位エラーと書込み保証 (write concern) エラー、または 2 つのいずれかが含まれます。

次の値を返します。

  • true | false

    ドキュメントに書込み保証 (write concern) エラーが含まれているかどうか。 障害には、最上位エラーと書込み保証 (write concern) エラー、または 2 つのいずれかが含まれます。

以来

  • 2.10.0



139
140
141
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/error/parser.rb', 行139

デフォルト write_concern_error
  !!write_concern_error_document
end

#write_concern_error_code =整数 | nil

書込み保証 (write concern) エラーが存在し、コードがある場合、書込み保証 (write concern) エラーのエラー コードを返します。

次の値を返します。

  • (Integer | nil)

    書込み保証 (write concern) エラーが存在し、 コードがある場合の書込み保証 (write concern) エラーのエラー コード。

以来

  • 2.10.0



157
158
159
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/error/parser.rb', 行157

デフォルト write_concern_error_code
  write_concern_error_document & & write_concern_error_document['code']
end

#write_concern_error_code_name = string | nil

書込み保証 (write concern) エラーが存在し、コード名がある場合、書込み保証 (write concern) エラーのコード名を返します。

次の値を返します。

  • ( string | nil )

    書込み保証 (write concern) エラーが存在し、コード名がある場合の、書込み保証 (write concern) エラーのコード名。

以来

  • 2.10.0



166
167
168
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/error/parser.rb', 行166

デフォルト write_concern_error_code_name
  write_concern_error_document & & write_concern_error_document[' codeName ']
end

#write_concern_error_document =ハッシュ | nil

サーバーによって報告された書込み保証 (write concern) エラーのドキュメント(存在する場合)を返します。

次の値を返します。

  • (ハッシュ | nil )

    サーバーに報告された書込み保証 (write concern) エラー。

以来

  • 2.0.0



148
149
150
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/error/parser.rb', 行148

デフォルト write_concern_error_document
  ドキュメント[' writeConcernError ']
end

#write_concern_error_levels = 配列<String> =string========================================== nil

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

書込み保証 (write concern) エラーが発生している場合

次の値を返します。

  • 配列<String> | nil

    これに関連するエラー ラベル

以来

  • 2.0.0



172
173
174
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/error/parser.rb', 行172

デフォルト write_concern_error_ labels
  write_concern_error_document & & write_concern_error_document['errorLabels']
end