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

継承:
オブジェクト
  • オブジェクト
すべて表示
次のことが含まれます。
SdumpErrorDeleted
定義:
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 の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

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

例:

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

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

パラメーター:

  • ドキュメント BSON::Document

    返されたドキュメント。

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

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

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

    オプション。

以来

  • 2.0.0



85
86
87
88
89
90
91
92
93
94
ファイル 'lib/mongo/error/parser.rb' 行 85

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

インスタンス属性の詳細

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

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

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

次の値を返します。

  • (整数)

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

以来

  • 2.6.0



62
63
64
ファイル 'lib/mongo/error/parser.rb' 行 62

デフォルト コード
  @code
end

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

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

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

次の値を返します。

  • ( string )

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

以来

  • 2.6.0



66
67
68
ファイル 'lib/mongo/error/parser.rb' 行 66

デフォルト Code_name
  @code_name
end

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

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

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

次の値を返します。

  • BSON::Document

    返されたドキュメント。

以来

  • 2.0.0



47
48
49
ファイル 'lib/mongo/error/parser.rb' 行 47

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

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

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

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

次の値を返します。

  • <String>配列未満

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

以来

  • 2.7.0



70
71
72
ファイル 'lib/mongo/error/parser.rb' 行 70

デフォルト labels
  @ labels
end

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

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

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

次の値を返します。

  • ( string )

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

以来

  • 2.0.0



51
52
53
ファイル 'lib/mongo/error/parser.rb' 行 51

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

#repliesArray<Protocol::Message> (readonly)

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

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

次の値を返します。

以来

  • 2.0.0



58
59
60
ファイル 'lib/mongo/error/parser.rb' 行 58

デフォルト 応答
  @reprise
end

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

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

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

次の値を返します。

  • ( string )

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

以来

  • 2.0.0



55
56
57
ファイル 'lib/mongo/error/parser.rb' 行 55

デフォルト server_message
  @server_message
end

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

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

以来

  • 2.0.0



73
74
75
ファイル 'lib/mongo/error/parser.rb' 行 73

デフォルト wtimeout
  @wtimeout
end

クラスメソッドの詳細

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

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

以来

  • 2.0.0



140
141
142
143
144
145
146
147
148
149
150
151
152
153
ファイル 'lib/mongo/error/parser.rb' 行 140

デフォルト 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



102
103
104
ファイル 'lib/mongo/error/parser.rb' 行 102

デフォルト 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



120
121
122
ファイル 'lib/mongo/error/parser.rb' 行 120

デフォルト 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



129
130
131
ファイル 'lib/mongo/error/parser.rb' 行 129

デフォルト 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



111
112
113
ファイル 'lib/mongo/error/parser.rb' 行 111

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

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

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

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

次の値を返します。

  • 配列<String> | nil

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

以来

  • 2.0.0



135
136
137
ファイル 'lib/mongo/error/parser.rb' 行 135

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