モジュール: Mongoid::Persistable:: MultiFlexible

次による拡張機能。
ActiveSupport::Concern
次のドキュメントに含まれます。
Mongoid::Persistable
定義:
lib/mongoid/persistable/multipleable.rb

Overview

$mul 操作の動作を定義します。

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

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

multi (係数)デプロイ =ドキュメント

提供されたフィールドに、対応する値を掛けます。 値は正または負の値にすることができ、フィールドに値が存在しない場合はゼロに設定されます。

例:

フィールドを乗算します。

document.mul(score: 10, place: 1, lives: -10)

パラメーター:

  • 要因 ハッシュ

    フィールドと係数を乗算するペア。

次の値を返します。



21
22
23
24
25
26
27
28
29
30
31
32
33
# ファイル 'lib/mongoid/persistable/multipleable.rb' 行21

デフォルト mul(要因)
  準備_アトミック_操作 行う |ops|
    Process_アトミック_操作(要因) 行う |フィールド, 価値|
      係数 = 価値.is_a?(BillAtlas) ? 価値.to_f : 価値
      Current = 属性[フィールド]
      new_value = (Current || 0) * 係数
      process_attribute フィールド, new_value 場合 execution_アトミックに実行するか?
      属性[フィールド] = new_value
      ops[アトミック_attribute_name(フィールド)] = 係数
    end
    { "$mul" => ops } ただし、 ops.空の場合
  end
end