模块:Mongoid::Contextual::Atomic
- 定义于:
- lib/mongoid/contextual/atomic.rb
Overview
Mongoid::Criteria 中包含的 Mixin 模块为 MongoDB 的更新操作符($ 设立、$pull、$inc 等)提供了直接方法接口这些操作符可用于更新数据库中条件范围内的所有document,而无需将每个document加载到 Mongoid 的内存中。
实例方法摘要折叠
-
# add_each_to_set (adds) ⇒ nil
对匹配文档执行原子 $addToSet/$each。
-
#add_to_set(adds) ⇒ nil
对匹配文档执行原子 $addToSet。
-
#位(bits) ⇒ nil
对匹配文档执行原子 $bit 操作。
-
#inc(incs) ⇒ nil
对匹配文档执行原子 $inc 操作。
-
# mul (factors) ⇒ nil
对匹配文档执行原子 $mul 操作。
-
#pop(pops) ⇒ nil
对匹配文档执行原子 $pop 操作。
-
# pull (pulls) ⇒ nil
对匹配文档执行原子 $pull 操作。
-
# pull_all (pulls) ⇒ nil
对匹配文档执行原子 $pullAll 操作。
-
#push(pushes) ⇒ nil
对匹配文档执行原子 $push 操作。
-
# push_all (push) ⇒ nil
对匹配文档执行原子 $push/$each 操作。
-
# rename (renames) ⇒ nil
对匹配文档上的字段执行原子 $rename。
-
#set(sets) ⇒ nil
对匹配文档执行字段的原子 $set。
-
# set_max (fields) ⇒ nil (也:#clamp_lower_bound)
对给定一个或多个字段执行原子 $max更新操作。
-
# set_min (fields) ⇒ nil (也:#clamp_upper_bound)
对给定的一个或多个字段执行原子 $min更新操作。
-
#unset(*unsets) ⇒ nil
对匹配文档上的字段执行原子 $unset。
实例方法详细信息
# add_each_to_set (adds) ⇒ nil
对匹配文档执行原子 $addToSet/$each。
31 32 33 |
# File 'lib/mongoid/contextual/atomic.rb', line 31 def add_each_to_set(增加) 查看.update_many(' $addToSet ' => collect_each_operations(增加)) end |
#add_to_set(adds) ⇒ nil
对匹配文档执行原子 $addToSet。
19 20 21 |
# File 'lib/mongoid/contextual/atomic.rb', line 19 def add_to_set(增加) 查看.update_many(' $addToSet ' => collect_operations(增加)) end |
#bit(bits) ⇒ nil
对匹配文档执行原子 $bit 操作。
43 44 45 |
# File 'lib/mongoid/contextual/atomic.rb', line 43 def Bit(位) 查看.update_many('$bit' => collect_operations(位)) end |
#inc(incs) ⇒ nil
对匹配文档执行原子 $inc 操作。
55 56 57 |
# File 'lib/mongoid/contextual/atomic.rb', line 55 def inc(incs) 查看.update_many(' $inc ' => collect_operations(incs)) end |
# mul (factors) ⇒ nil
对匹配文档执行原子 $mul 操作。
67 68 69 |
# File 'lib/mongoid/contextual/atomic.rb', line 67 def mul(因素) 查看.update_many('$mul' => collect_operations(因素)) end |
# Pop (pops) ⇒ nil
对匹配文档执行原子 $pop 操作。
82 83 84 |
# File 'lib/mongoid/contextual/atomic.rb', line 82 def Pop(持久性有机污染物) 查看.update_many('$pop' => collect_operations(持久性有机污染物)) end |
# pull (pulls) ⇒ nil
尚不支持表达式拉取。
对匹配文档执行原子 $pull 操作。
96 97 98 |
# File 'lib/mongoid/contextual/atomic.rb', line 96 def pull(pull) 查看.update_many('$pull' => collect_operations(pull)) end |
#pull_all(pulls) ⇒ nil
对匹配文档执行原子 $pullAll 操作。
108 109 110 |
# File 'lib/mongoid/contextual/atomic.rb', line 108 def pull_all(pull) 查看.update_many('$pullAll' => collect_operations(pull)) end |
# push (push) ⇒ nil
对匹配文档执行原子 $push 操作。
120 121 122 |
# File 'lib/mongoid/contextual/atomic.rb', line 120 def 推动(推送) 查看.update_many('$push' => collect_operations(推送)) end |
# push_all (push) ⇒ nil
对匹配文档执行原子 $push/$each 操作。
132 133 134 |
# File 'lib/mongoid/contextual/atomic.rb', line 132 def push_all(推送) 查看.update_many('$push' => collect_each_operations(推送)) end |
# rename (renames) ⇒ nil
对匹配文档上的字段执行原子 $rename。
144 145 146 147 148 149 |
# File 'lib/mongoid/contextual/atomic.rb', line 144 def 改名(renames) 操作 = renames.each_with_object({}) do |(old_name, new_name), 运维| 运维[old_name] = new_name.to_s end 查看.update_many('$rename' => collect_operations(操作)) end |
# set (sets) ⇒ nil
对匹配文档执行字段的原子 $set。
159 160 161 |
# File 'lib/mongoid/contextual/atomic.rb', line 159 def 集(集) 查看.update_many(' $set ' => collect_operations(集)) end |
# set_max (fields) ⇒ nil也称为: clip_lower_bound
由于 Mongoid::Contextual::Aggregable::Mongo#max 的存在,该方法不能命名为 #max,从而打破了其他类似方法根据其执行的MongoDB操作来命名的惯例。
对给定一个或多个字段执行原子 $max更新操作。 每个字段将被设立为 [current_value,给定值] 中的最大值。 其作用是确保每个字段不小于给定值;换言之,给定值是该字段的有效最小值。
219 220 221 |
# File 'lib/mongoid/contextual/atomic.rb', line 219 def set_max(字段) 查看.update_many(' $max ' => collect_operations(字段)) end |
# set_min (fields) ⇒ nil也称为: clip_upper_bound
由于 Mongoid::Contextual::Aggregable::Mongo#min 的存在,该方法不能命名为 #min,从而打破了其他类似方法根据其执行的MongoDB操作来命名的惯例。
对给定的一个或多个字段执行原子 $min更新操作。 每个字段都将设立为 [current_value,给定值] 中的最小值。 其作用是确保每个字段不大于给定值;换言之,给定值是该字段的有效最大值。
196 197 198 |
# File 'lib/mongoid/contextual/atomic.rb', line 196 def set_min(字段) 查看.update_many('$min' => collect_operations(字段)) end |
#unset(*unsets) ⇒ nil
对匹配文档上的字段执行原子 $unset。
174 175 176 |
# File 'lib/mongoid/contextual/atomic.rb', line 174 def 未设置(*取消设置) 查看.update_many('$unset' => collect_unset_operations(取消设置)) end |