クラス: Mongo::BulkWrite

継承:
オブジェクト
  • オブジェクト
すべて表示
次による拡張機能。
転送可能
次のことが含まれます。
Operation::Response Processing
定義:
build/ruby-Driver-v 2.19 /lib/mongo/bulk_write.rb
build/ruby-Driver-v 2.19 /lib/mongo/bulk_write/result.rb,
build/ruby-Driver-v 2.19 /lib/mongo/bulk_write/combinable.rb,
build/ruby-Driver-v 2.19 /lib/mongo/bulk_write/validable.rb,
build/ruby-Driver-v 2 . 19 /lib/mongo/bulk_write/transformable.rb、
build/ruby-Driver-v 2 . 19 /lib/mongo/bulk_write/result_combiner.rb、
build/ruby-Driver-v 2 . 19 /lib/mongo/bulk_write/ ordered_combiner.rb、
build/ruby-Driver-v 2 . 19 /lib/mongo/bulk_write/un ordered_combiner.rb

名前空間で定義済み

Modules: 組み合わせ可能な 変換 可能な 有効 な クラス : OrderedCombiner 、 Result 、 ResultCombiner UnorderCombiner

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

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

コンストラクターの詳細

#初期化(コレクション, リクエスト, オプション = {}) = BulkWrite

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

新しい一括書込み操作を作成します。

例:

順序付き一括書き込みを作成します。

Mongo::BulkWrite.new(collection, [{ insert_one: { _id: 1 }}])

順序付けなしの一括書込みを作成します。

Mongo::BulkWrite.new(collection, [{ insert_one: { _id: 1 }}], ordered: false)

順序付き混合一括書き込みを作成します。

Mongo::BulkWrite.new(
  collection,
  [
    { insert_one: { _id: 1 }},
    { update_one: { filter: { _id: 0 }, update: { '$set' => { name: 'test' }}}},
    { delete_one: { filter: { _id: 2 }}}
  ]
)

パラメーター:

  • コレクション Mongo::Collection

    コレクション。

  • リクエスト (Enumerable<Hash, BSON::Document>)

    リクエストは空にできません。

  • options ハッシュBSON ::Document (デフォルトは{}です)

    オプション。

以来

  • 2.1.0



123
124
125
126
127
ファイル番号: build/ruby-Driver-v 2.19 /lib/mongo/bulkWrite.rb", 行123

デフォルト 初期化(コレクション, リクエスト, options = {})
  @collection = コレクション
  @requests = リクエスト
  @options = options || {}
end

インスタンス属性の詳細

コレクション= Mongo::Collection (readonly)

コレクション コレクションを返します。

次の値を返します。



32
33
34
ファイル番号: build/ruby-Driver-v 2.19 /lib/mongo/bulkWrite.rb", 行32

デフォルト コレクション
  @collection
end

オプション=ハッシュBSON::Document (読み取り専用)

オプション オプションを返します。

次の値を返します。

  • ハッシュBSON ::Document

    options のオプション。



38
39
40
ファイル番号: build/ruby-Driver-v 2.19 /lib/mongo/bulkWrite.rb", 行38

デフォルト options
  @options
end

リクエスト= 件= 配列 <Hash, BSON ::Document> (読み取り専用)

リクエストを返します。

次の値を返します。

  • 配列

    リクエスト リクエスト。



35
36
37
ファイル番号: build/ruby-Driver-v 2.19 /lib/mongo/bulkWrite.rb", 行35

デフォルト リクエスト
  @requests
end

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

# execution = Mongo:: BulkWrite ::Result

一括書き込み操作を実行します。

例:

一括書き込みを実行します。

bulk_write.execute

次の値を返します。

以来

  • 2.1.0



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
87
88
89
90
91
92
93
94
95
ファイル番号: build/ruby-Driver-v 2.19 /lib/mongo/bulkWrite.rb", 行58

デフォルト 実行する
  operation_id = モニタリング.next_operation_id
  Result_combiner = ResultCombiner.新着情報
  操作 = op_combiner.組み合わせ
  validate_requests!

  クライアント.送信(:with_session, @options) 行う |セッション|
    context = 操作::Context.新着情報(クライアント: クライアント, セッション: セッション)
    操作. 行う |操作|
      場合 シングル_ステートメント(操作)
        write_concern = write_concern(セッション)
        write_with_retry(write_concern, context: context) 行う |接続, txn_num, context|
          execution_operation(
            操作.キー.最初に,
            操作.values.平面,
            接続,
            context,
            operation_id,
            Result_combiner,
            セッション,
            txn_num)
        end
      else
        nro_write_with_retry(write_concern, context: context) 行う |接続, txn_num, context|
          execution_operation(
            操作.キー.最初に,
            操作.values.平面,
            接続,
            context,
            operation_id,
            Result_combiner,
            セッション)
        end
      end
    end
  end
  Result_combiner.結果
end

注文数は? = truefalse

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

一括書き込みは順序付けられているか

例:

一括書き込みは順序付けられているか

bulk_write.ordered?

次の値を返します。

  • truefalse

    一括書き込みが順序付けられている場合。

以来

  • 2.1.0



139
140
141
ファイル番号: build/ruby-Driver-v 2.19 /lib/mongo/bulkWrite.rb", 行139

デフォルト 順序は?
  @ ordered ||= options.fetch(: ordered, true)
end

#write_concern (セッション = nil)= WriteConcern

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

一括書き込みの 書込み保証 (write concern) を取得します。

例:

書込み保証 (write concern) を取得します。

bulk_write.write_concern

次の値を返します。

  • WriteConcern

    書込み保証 (write concern) 。

以来

  • 2.1.0



153
154
155
156
157
ファイル番号: build/ruby-Driver-v 2.19 /lib/mongo/bulkWrite.rb", 行153

デフォルト write_concern(セッション = nil)
  @write_concern ||= options[:write_concern] ?
    WriteConcern.得る(options[:write_concern]) :
    コレクション.write_concern_with_session(セッション)
end