クラス: Mongo::Operation::Insert::BulkResult

継承:
結果
  • オブジェクト
すべて表示
次のことが含まれます。
集計可能
定義:
lib/mongo/操作/insert/bulk_result.rb

Overview

一括書き込みの一部として送信された場合の挿入の結果のカスタム動作を定義します。

以来

  • 2.0.0

定数の概要

結果から継承される定数

結果::CURSOR結果::CURSOR_ID結果::FIRST_BATCH結果::N結果::NAMESPACE結果::Next_BATCH結果:: OK結果::RESULT

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

結果から継承される属性

接続 接続_説明 接続_グローバル_id コンテキスト 応答

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

結果から継承されるメソッド

認証済み 、#cluster_time #cursor_id #documents 、各 #error # has_cursor_id ? #inspect # labels #namespace #ok? #operation_time 、# reply 、#returned_count 、 #snapshot_timestamp 、#成功し たかどうか トポロジー_バージョン 、検証し ます。 、 #write_concern_error 、 #Written_count

コンストラクターの詳細

#初期化(応答、接続_description、接続_グローバル_id、ids) = BulkResult

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

新しい結果を初期化します。

例:

結果をインスタンス化します。

Result.new(replies, inserted_ids)

パラメーター:

  • 応答 (Array<Protocol::Message> | nil)

    ワイヤプロトコルが応答する場合、応答します。

  • connection_description Server:: Description

    この結果の操作を実行したサーバーの説明。

  • connection_ global_id (整数)

    この結果となる操作が実行された接続のグローバル ID。

  • ids 配列<Object>

    挿入されたドキュメントの ID。

以来

  • 2.0.0



51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# ファイル 'lib/mongo/操作/insert/bulk_result.rb' は、51 行を

デフォルト 初期化(応答, connection_description, connection_ global_id, ids)
  @reprise = [*応答] 場合 応答
  @ connection_description = connection_description
  @ connection_ global_id = connection_ global_id
  場合 応答 & & 応答.最初に & & (doc = 応答.最初に.ドキュメント.最初に)
    場合 errors = doc[' writeErrors ']
      #いくつかのドキュメントが挿入された可能性あり
      valid_indexs = {}
      errors.map 行う |エラー|
        valid_indexs[エラー['index']] = true
      end
      @inserted_ids = []
      ids.each_with_index 行う |id, index|
        場合 valid_indexs[index].nil?
          @inserted_ids < id
        end
      end
    # 確認されたかどうかを知りませんか。 ここでのチェックは必要です、
    # 影響しないことが伝えられる限り
    elsif 確認済み? & & 成功した場合
      # 応答があり、応答が成功し、
      # 応答には writeErrors がありません - すべてが挿入されました
      @inserted_ids = ids
    else
      # 応答がありますが、応答が成功せず、
      書き込みエラーはありません - は何も挿入されませんでした。
      # 何も挿入された場合、応答は成功しない
      # ただし writeErrors が発生します
      @inserted_ids = []
    end
  else
    # ここで到達する必要はあるとは考えませんが、
    古いドライバーと同様に動作するようにします
    @inserted_ids = ids
  end
end

インスタンス属性の詳細

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

挿入されたドキュメントの ID を取得します。

以来

  • 2.0.0



33
34
35
# ファイル 'lib/mongo/操作/insert/bulk_result.rb' は、33 行を

デフォルト inserts_ids
  @inserted_ids
end

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

#inserted_idObject

挿入されたドキュメントの ID を取得します。

例:

挿入されたドキュメントの ID を取得します。

result.inserted_id

次の値を返します。

  • オブジェクト

    挿入されたドキュメントの ID。

以来

  • 2.0.0



110
111
112
# ファイル 'lib/mongo/操作/insert/bulk_result.rb' は、110 行を

デフォルト insert_id
  inserts_ids.最初に
end

# n_inserted =整数

挿入されたドキュメントの数を取得します。

例:

挿入されたドキュメントの数を取得します。

result.n_inserted

次の値を返します。

  • (整数)

    挿入されたドキュメントの数。

以来

  • 2.0.0



97
98
99
# ファイル 'lib/mongo/操作/insert/bulk_result.rb' は、97 行を

デフォルト n_inserted
  Written_count
end