クラス: Mongo::Operation::Result
- 継承:
-
オブジェクト
- オブジェクト
- Mongo::Operation::Result
- 次による拡張機能。
- 転送可能
- 次のことが含まれます。
- Enumerable
- 定義:
- lib/mongo/操作/result.rb、
lib/mongo/操作/shared/result/aggregate.rb
Overview
ワイヤプロトコル応答の結果ラッパー。
操作の応答は 0 または 1 です。 応答がゼロの操作のみが未確認の書込みです。他のすべての操作では 1 つの応答が生成されます。 このクラスは、操作が応答を生成しなかった場合でも(操作が成功したかどうかを確認するために)操作可能なオブジェクトを提供します(この場合は成功したと見なされます)。
既知のサブクラスを直接確認
名前空間で定義済み
Modules: 集計可能
定数の概要の削減
- CURSOR =
この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。
集計内のカーソル ドキュメントのフィールド名。
'cursor'- CURSOR_ID =
この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。
カーソル ドキュメント内のカーソル ID フィールド。
'id'- 最初の_バッチ =
この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。
カーソルの最初のバッチのフィールド名。
'firstBatch'- Next_バッチ =
この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。
カーソルの次のバッチのフィールド名。
'nextBatch'- 名前空間 =
この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。
カーソル ドキュメント内の 名前空間 フィールド。
'ns'- N =
この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。
書込み (write) 時に更新されたドキュメントの数。
'n'- OK =
この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。
結果の OK ステータス フィールド。
'Ok'- Result =
この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。
結果フィールド 定数。
'結果'
インスタンス属性の概要を折りたたむ
- # 接続 = オブジェクト readOnly
-
# connection_description = Connection_description = Server:: Description
readOnly
private
この結果が操作に実行されたサーバーの説明。
-
# connection_ global_id = オブジェクト
readOnly
private
グローバル は、この結果がである操作が実行された接続の です。
-
#context ⇒ Operation::Context | nil
readOnly
private
この結果が生成されたときにアクティブだった操作コンテキスト(存在する場合)。
-
#replies ⇒ Array<Protocol::Message>
readOnly
private
ラップされたワイヤプロトコルの応答を返します。
インスタンス メソッドの概要を折りたたむ
-
確認済みの# = true、false
結果は確認されましたか。
-
#cluster_time ⇒ ClusterTime | nil
サーバー応答で報告されているクラスター時間を取得します。
-
#cursor_id ⇒ Integer
private
応答が確認済みの場合は、カーソル ID を取得します。
-
ドキュメント数: 配列[BSON::Document]<BSON::Document>
結果内のドキュメントを取得します。
-
各{|Each| ... } = 列挙型
応答内のドキュメントを反復処理します。
-
# エラー = Error::OperationFailure::ファミリー
private
この結果の処理中に発生する例外インスタンス( Error::OperationFailure::ファミリー)。
-
has_cursor_id? = true、false
private
結果に cursor_id が含まれているかどうか。
-
# 初期化(応答、接続_description = nil、接続_グローバル_id = nil、context: nil、接続: nil) = 結果
コンストラクター
private
新しい結果を初期化します。
-
詳しくは、 を 検査し ますstring
結果のかなり形式された検査を取得します。
-
#ラベル= 配列
private
結果に関連付けられたエラー ラベルのセットを取得します。
-
#namespace ⇒ Nil
private
カーソルの名前空間を取得します。
-
では、 = true、false
最初のドキュメントの OKフィールドを確認します。
-
# operation_time = オブジェクト | nil
サーバー応答で報告されているoptimeを取得します。
-
#reply ⇒ Protocol::Message
private
結果から応答を取得します。
-
# returned_count = 整数
このバッチ内のサーバーによって返されたドキュメントの数を取得します。
- # snapshot_timestamp = オブジェクト
-
成功した場合= true、false
結果が コマンドの場合、成功と見なされるかどうかを判断します。
-
#topology_version ⇒ TopologyVersion | nil
private
トポロジーのバージョン。
-
#validate! ⇒ Result
private
エラーをチェックして、結果を検証します。
-
#write_concern_error = ブール値
private
操作が書込み保証 (write concern) エラーで失敗したかどうか。
-
# Written_count=整数(#n)
サーバーによって書込まれたドキュメントの数を取得します。
コンストラクターの詳細
# 初期化(応答、接続_description = nil、接続_グローバル_id = nil、context: nil、接続: nil) = 結果
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
新しい結果を初期化します。
確認応答されていない書込みの場合は、応答で nil を渡します。
For all other operations, replies must be a Protocol::Message instance or an array containing a single Protocol::Message instance.
104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 |
# ファイル 'lib/mongo/ 操作/result.rb' は、104 行 デフォルト 初期化(応答, connection_description = nil, connection_ global_id = nil, context: nil, 接続: nil) @context = context return ただし、 応答 場合 応答.is_a?(配列) 発生 ArgumentError, " は . の 応答 のみをサポートするため 、 " 00000000 " 場合 応答.Length != 1 応答 = 応答.最初に else 応答 = 応答 end ただし、 応答.is_a?(プロトコル::メッセージ) 発生 ArgumentError, " 引数は メッセージ インスタンスである必要がありますが、 # { Response . クラス } : #{ MongoDB Atlas の検索 } end @reprise = [ 応答 ] @ connection_description = connection_description @ connection_ global_id = connection_ global_id @ connection = 接続 end |
インスタンス属性の詳細
# 接続 = オブジェクト(読み取り専用)
149 150 151 |
# ファイル 'lib/mongo/ 操作/result.rb' は、149 行 デフォルト 接続 @ connection end |
# connection_description = Server:: Description (readonly)
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
この結果である、操作が実行されたサーバーのサーバーの説明を返します。
135 136 137 |
# ファイル 'lib/mongo/ 操作/result.rb' は、135 行 デフォルト connection_description @ connection_description end |
# connection_ global_id =オブジェクト(読み取り専用)
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
この結果が対象となる接続で操作が実行された接続のグローバルを返します。
141 142 143 |
# ファイル 'lib/mongo/ 操作/result.rb' は、141 行 デフォルト connection_ global_id @ connection_ global_id end |
#context = 操作::Context | nil(読み取り専用)
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
この結果が生成されたときにアクティブだった操作コンテキスト(存在する場合)を返します。
147 148 149 |
# ファイル 'lib/mongo/ 操作/result.rb' は、147 行 デフォルト context @context end |
#replies ⇒ Array<Protocol::Message> (readonly)
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
ラップされたワイヤプロトコルの応答を返します。
129 130 131 |
# ファイル 'lib/mongo/ 操作/result.rb' は、129 行 デフォルト 応答 @reprise end |
インスタンス メソッドの詳細
確認済みの# = true 、 false
結果は確認されましたか。
161 162 163 |
# ファイル 'lib/mongo/ 操作/result.rb' は、161 行 デフォルト 確認済み? !!@reprise end |
#cluster_time ⇒ ClusterTime | nil
サーバー応答で報告されているクラスター時間を取得します。
バージョン2.9.0での変更 : この属性は、BSON::Document のサブクラスである ClusterTime のインスタンスになりました。 以前は BSON::Document のインスタンスでした。
427 428 429 |
# ファイル 'lib/mongo/ 操作/result.rb' は、427 行 デフォルト cluster_time first_document & & ClusterTime[first_document['$clusterTime']] end |
#cursor_id ⇒ Integer
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
カーソル ID が0の場合は、サーバー上にカーソルがないことを示します。
応答が確認済みの場合は、カーソル ID を取得します。
185 186 187 |
# ファイル 'lib/mongo/ 操作/result.rb' は、185 行 デフォルト cursor_id 確認済み? ? 応答.last.cursor_id : 0 end |
ドキュメント 数 : 配列[BSON::Document]<BSON::Document>
結果内のドキュメントを取得します。
209 210 211 212 213 214 215 |
# ファイル 'lib/mongo/ 操作/result.rb' は、209 行 デフォルト ドキュメント 場合 確認済み? 応答.flat_map(&:documents) else [] end end |
各{|Each| ... } =列挙型
応答内のドキュメントを反復処理します。
230 231 232 |
# ファイル 'lib/mongo/ 操作/result.rb' は、230 行 デフォルト 各(&ブロック) ドキュメント.各(&ブロック) end |
# エラー = Error::OperationFailure::ファミリー
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
この結果の処理中に発生する例外インスタンス( Error::OperationFailure::ファミリー)。
このメソッドは、結果が成功しない場合にのみ呼び出す必要があります。
344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 |
# ファイル 'lib/mongo/ 操作/result.rb' は、344 行 デフォルト エラー @error ||= operation_failure_Class.新着情報( parser., 自己, コード: parser.コード, Code_name: parser.Code_name, write_concern_error_document: parser.write_concern_error_document, write_concern_error_code: parser.write_concern_error_code, write_concern_error_code_name: parser.write_concern_error_code_name, write_concern_error_ labels parser.write_concern_error_ labels, labels parser.labels, wtimeout: parser.wtimeout, connection_description: connection_description, ドキュメント: parser.ドキュメント, server_message: parser. ) end |
has_cursor_id? = true 、 false
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
結果に cursor_id が含まれているかどうか
170 171 172 |
# ファイル 'lib/mongo/ 操作/result.rb' は、170 行 デフォルト has_cursor_id? 確認済み? & & 応答.last.respond_to?(:cursor_id) end |
詳しくは、 を 検査しstring ます
結果のかなり形式された検査を取得します。
243 244 245 |
# ファイル 'lib/mongo/ 操作/result.rb' は、243 行 デフォルト 検査する " # は 、{10 }0 #{ object_id } } Documents = # { { Documents } } > " end |
#ラベル=配列
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
結果に関連付けられたエラー ラベルのセットを取得します。
440 441 442 |
# ファイル 'lib/mongo/ 操作/result.rb' は、440 行 デフォルト labels @ labels ||= parser.labels end |
#namespace ⇒ Nil
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
カーソルの名前空間を取得します。メソッドは、サーバー応答内に 'n' がある結果クラスで定義する必要があります。
196 197 198 |
# ファイル 'lib/mongo/ 操作/result.rb' は、196 行 デフォルト namespace nil end |
では、 = true 、 false
最初のドキュメントの OKフィールドを確認します。
308 309 310 311 312 313 314 315 |
# ファイル 'lib/mongo/ 操作/result.rb' は、308 行 デフォルト ok? # first_document[ OK ] は浮動小数点数であり、サーバーは次を返すことができます は、 32の BSON 、 64の BSON 、または BSON double として承認されています。 # 数値1は浮動小数点数で完全に表現可能であるため、 # 1.0 == 1は常に正しく実行されるようになりました #(サーバーが成功の結果として1以外の結果を返すまで、つまり ) first_document[OK] == 1 end |
# operation_time =オブジェクト | nil
サーバー応答で報告されているoptimeを取得します。
410 411 412 |
# ファイル 'lib/mongo/ 操作/result.rb' は、410 行 デフォルト operation_time first_document & & first_document[OPERATION_TIME] end |
#reply ⇒ Protocol::Message
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
結果から応答を取得します。
応答がない場合は nil を返します(つまり、操作が確認されていない書込みでした)。
256 257 258 259 260 |
# ファイル 'lib/mongo/ 操作/result.rb' は、256 行 デフォルト 応答 return ただし、 確認済み? 応答.最初に end |
# returned_count =整数
このバッチ内のサーバーによって返されたドキュメントの数を取得します。
268 269 270 271 272 273 274 |
# ファイル 'lib/mongo/ 操作/result.rb' は、268 行 デフォルト returned_count 場合 確認済み? 応答.number_returned else 0 end end |
# snapshot_timestamp =オブジェクト
451 452 453 454 455 |
# ファイル 'lib/mongo/ 操作/result.rb' は、451 行 デフォルト return ただし、 doc = 応答.ドキュメント.最初に doc['cursor']&.[]('atClusterTime') || doc['atClusterTime'] end |
成功した場合 = true 、 false
書込み (write) が確認されていない場合は、常に true が返されます。
結果が コマンドの場合、成功と見なされるかどうかを判断します。
289 290 291 292 293 294 295 296 297 |
# ファイル 'lib/mongo/ 操作/result.rb' は、289 行 デフォルト 成功した場合 return true ただし、 確認済み? 場合 first_document.has_keys_keys(OK) ok? & & parser..空の場合 else !query_failure? & & parser..空の場合 end end |
#topology_version ⇒ TopologyVersion | nil
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
トポロジー バージョンを返します。
373 374 375 376 377 378 379 |
# ファイル 'lib/mongo/ 操作/result.rb' は、373 行 デフォルト topic ただし、 定義済み?(@topology_version) @topology_version = first_document['topologyVersion'] & & TopologyVersion.新着情報(first_document['topologyVersion']) end @topology_version end |
#validate! ⇒ Result
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
これは、結果が作成される前に認証が接続レベルで処理され、認証エラーが発生するため、書き込みによるエラーのみをチェックします。
エラーをチェックして、結果を検証します。
332 333 334 |
# ファイル 'lib/mongo/ 操作/result.rb' は、332 行 デフォルト validate! 成功した場合 ? 自己 : resume_operation_failure end |
#write_concern_error =ブール値
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
操作が書込み保証 (write concern) エラーで失敗したかどうか。
447 448 449 |
# ファイル 'lib/mongo/ 操作/result.rb' は、447 行 デフォルト write_concern_error !!(first_document & & first_document[' writeConcernError ']) end |
# Written_count=整数別名: n
サーバーによって書込まれたドキュメントの数を取得します。
390 391 392 393 394 395 396 |
# ファイル 'lib/mongo/ 操作/result.rb' は、390 行 デフォルト Written_count 場合 確認済み? first_document[N] || 0 else 0 end end |