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

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

Overview

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

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

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

#inc (インクリメント) =ドキュメント

指定されたフィールドを、対応する値の分だけ増加させます。 値は正または負の値にすることができ、フィールドに値が存在しない場合は、指定された値が設定されます。

例:

フィールドを増やします。

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

パラメーター:

  • 増分 ハッシュ

    フィールドとインデックスのペア。

次の値を返します。



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

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