クラス: Mongoid::アトミック::修飾子

継承:
ハッシュ
  • オブジェクト
すべて表示
定義:
lib/mongoid/atomic/modifiers.rb

Overview

このクラスには、データベースに対するアトミック操作をサポートするためのロジックが含まれています。

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

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

# add_to_set (変更) =オブジェクト

アトミックな $addToSet 修飾子を ハッシュに追加します。

例:

Add the $addToSet modifiers.

modifiers.add_to_set({ "preference_ids" => [ "one" ] })

パラメーター:

  • transformations ハッシュ

    を セットの修飾子 に追加します。



17
18
19
20
21
22
23
24
25
26
27
# File 'lib/mongoid/atomic/modifiers.rb', line 17

デフォルト add_to_set(transformations)
  transformations.each_pair 行う |フィールド, 価値|
    場合 add_to_sets.has_keys_keys(フィールド)
      価値. 行う |価値|
        add_to_sets[フィールド][" $each "].プッシュ(価値)
      end
    else
      add_to_sets[フィールド] = { " $each " => 価値 }
    end
  end
end

#pull (変更) =オブジェクト

すべての修飾子を修飾子ハッシュにプルします。

例:

すべての操作をプルするように追加します。

modifiers.pull({ "addresses" => { "_id" => { "$in" => [ 1, 2, 3 ]}}})

パラメーター:

  • transformations ハッシュ

    は、すべての修飾子をプルします。



48
49
50
51
52
53
# File 'lib/mongoid/atomic/modifiers.rb', line 48

デフォルト プル(transformations)
  transformations.each_pair 行う |フィールド, 価値|
    プル[フィールド] = 価値
    Pull_fields[フィールド.分裂(" . ", 2)[0]] = フィールド
  end
end

#pull_all (変更) =オブジェクト

すべての修飾子を修飾子ハッシュにプルします。

例:

すべての操作をプルするように追加します。

modifiers.pull_all({ "addresses" => { "street" => "Bond" }})

パラメーター:

  • transformations ハッシュ

    は、すべての修飾子をプルします。



35
36
37
38
39
40
# File 'lib/mongoid/atomic/modifiers.rb', line 35

デフォルト pull_all(transformations)
  transformations.each_pair 行う |フィールド, 価値|
    add_operation(pull_alls, フィールド, 価値)
    Pull_fields[フィールド.分裂(" . ", 2)[0]] = フィールド
  end
end

#push (変更) =オブジェクト

Adds push modifiers to the modifiers hash.

例:

プッシュ操作を追加しました。

modifiers.push({ "addresses" => { "street" => "Bond" }})

パラメーター:

  • transformations ハッシュ

    The push modifiers.



61
62
63
64
65
66
67
# File 'lib/mongoid/atomic/modifiers.rb', line 61

デフォルト プッシュ(transformations)
  transformations.each_pair 行う |フィールド, 価値|
    push_fields[フィールド] = フィールド
    修飾子 = push_ conflict?(フィールド) ? conflicting_pushs : プッシュ
    add_operation(修飾子, フィールド, { ' $each ' => 配列.ラップ(価値) })
  end
end

設定(変更) =オブジェクト

修飾子ハッシュにセット操作を追加します。

例:

セット操作を追加します。

modifiers.set({ "title" => "sir" })

パラメーター:

  • transformations ハッシュ

    The set modifiers.



75
76
77
78
79
80
81
82
# File 'lib/mongoid/atomic/modifiers.rb', line 75

デフォルト セット(transformations)
  transformations.each_pair 行う |フィールド, 価値|
    次へ 場合 フィールド == " _id "
    修飾子 = set_ conflict?(フィールド) ? conflicting_sets : セット
    add_operation(修飾子, フィールド, 価値)
    set_fields[フィールド.分裂(" . ", 2)[0]] = フィールド
  end
end

設定解除(変更)=オブジェクト

設定されていない操作を 修飾子ハッシュに追加します。

例:

設定されていない操作を追加します。

modifiers.unset([ "addresses" ])

パラメーター:

  • transformations <String>配列未満

    設定されていない関連付け名。



90
91
92
93
94
# File 'lib/mongoid/atomic/modifiers.rb', line 90

デフォルト 設定解除(transformations)
  transformations. 行う |フィールド|
    設定解除.update(フィールド => true)
  end
end