类:Mongoid::Atomic::Modifiers
- 继承:
-
哈希
- 对象
- 哈希
- Mongoid::Atomic::Modifiers
- 定义于:
- lib/mongoid/atomic/modifiers.rb
Overview
此类包含支持对数据库进行原子操作的逻辑。
实例方法摘要折叠
-
# add_to_set (modifications) ⇒ 对象
将原子 $addToSet 修饰符添加到哈希中。
-
# pull (modifications) ⇒ 对象
将拉取所有修饰符添加到修饰符哈希中。
-
# pull_all (modifications) ⇒ 对象
将拉取所有修饰符添加到修饰符哈希中。
-
# push (modifications) ⇒ 对象
将推送修改器添加到修改器哈希中。
-
# set (modifications) ⇒ 对象
将 set 操作添加到修饰符哈希中。
-
# unset (modifications) ⇒ 对象
将未设置的操作添加到修饰符哈希中。
实例方法详细信息
# add_to_set (modifications) ⇒对象
将原子 $addToSet 修饰符添加到哈希中。
17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/mongoid/atomic/modifiers.rb', line 17 def add_to_set(修改) 修改.each_pair do |字段, 值| if add_to_sets.has_key?(字段) 值.每 do |val| add_to_sets[字段][" $each "].推动(val) end else add_to_sets[字段] = { " $each " => 值 } end end end |
# pull (modifications) ⇒对象
将拉取所有修饰符添加到修饰符哈希中。
48 49 50 51 52 53 |
# File 'lib/mongoid/atomic/modifiers.rb', line 48 def pull(修改) 修改.each_pair do |字段, 值| pull[字段] = 值 pull_fields[字段.拆分(" . ", 2)[0]] = 字段 end end |
# pull_all (modifications) ⇒对象
将拉取所有修饰符添加到修饰符哈希中。
35 36 37 38 39 40 |
# File 'lib/mongoid/atomic/modifiers.rb', line 35 def pull_all(修改) 修改.each_pair do |字段, 值| add_operation(pull_alls, 字段, 值) pull_fields[字段.拆分(" . ", 2)[0]] = 字段 end end |
# push (modifications) ⇒对象
将推送修改器添加到修改器哈希中。
61 62 63 64 65 66 67 |
# File 'lib/mongoid/atomic/modifiers.rb', line 61 def 推动(修改) 修改.each_pair do |字段, 值| push_fields[字段] = 字段 mods = push_conflict?(字段) ? 冲突的推送 : 推送 add_operation(mods, 字段, { ' $each ' => 阵列.换行(值) }) end end |
# set (modifications) ⇒对象
将 set 操作添加到修饰符哈希中。
75 76 77 78 79 80 81 82 |
# File 'lib/mongoid/atomic/modifiers.rb', line 75 def 集(修改) 修改.each_pair do |字段, 值| 来年 if 字段 == " _id " mods = set_conflict?(字段) ? 冲突集 : 集 add_operation(mods, 字段, 值) set_fields[字段.拆分(" . ", 2)[0]] = 字段 end end |
# unset (modifications) ⇒对象
将未设置的操作添加到修饰符哈希中。
90 91 92 93 94 |
# File 'lib/mongoid/atomic/modifiers.rb', line 90 def 未设置(修改) 修改.每 do |字段| 取消设置.update(字段 => true) end end |