Módulo: Mongoid::Contextual::Atomic
- Definido en:
- lib/mongoid/contextual/atomic.rb
Overview
Módulo mixin incluido en Mongoid::Criteria que proporciona una interfaz de método directo a los operadores de actualización de MongoDB ($set, $pull, $inc, etc.) Estos operadores pueden aplicarse para actualizar todos los document de la base de datos dentro del alcance de los criterios, sin cargar cada document en la memoria de Mongoid.
Resumen del método de instancia colapsar
-
#add_each_to_set(agrega) ⇒ nil
Realice un $addToSet/$each atómico en los documentos que coincidan.
-
#add_to_set(adds) ⇒ nil
Ejecute un $addToSet atómico en los documentos coincidentes.
-
#bit(bits) ⇒ nil
Realizar una operación atómica $bit en los documentos coincidentes.
-
#inc(incs) ⇒ nil
Realiza una operación $inc atómica en los documentos coincidentes.
-
#mul(factores) ⇒ nil
Realiza una operación atómica $mul en los documentos que coincidan.
-
#pop(pops) ⇒ nil
Realice una operación atómica de $pop en los documentos coincidentes.
-
#pull(pulls) ⇒ nil
Realizar una operación atómica $pull en los documentos coincidentes.
-
#pull_all(pulls) ⇒ nil
Realice una operación atómica $pullAll en los documentos coincidentes.
-
#push(pushes) ⇒ nil
Realice una operación $push atómica en los documentos coincidentes.
-
#push_all(pushes) ⇒ nil
Realizar una operación atómica $push/$each en los documentos correspondientes.
-
#rename(renames) ⇒ nil
Realiza un $rename atómico de campos en los documentos coincidentes.
-
#set(sets) ⇒ nil
Realiza un $set atómico de campos en los documentos coincidentes.
-
#set_max(campos) ⇒ nil (también: #clamp_lower_bound)
Realiza una operación atómica de actualización $max en el campo o campos indicados.
-
#set_min(campos) ⇒ nil (también: #clamp_upper_bound)
Realiza una operación atómica de actualización de $min en el campo o campos dados.
-
#unset(*unsets) ⇒ nil
Realiza un $unset atómico de un campo en los documentos coincidentes.
Detalles del método de instancia
#add_each_to_set(agregados) ⇒ nil
Realice un $addToSet/$each atómico en los documentos que coincidan.
31 32 33 |
# Archivo 'lib/mongoid/contextual/atomic.rb', línea 31 def add_each_to_set(agrega) vista.update_many('$addToSet' => collect_each_operations(agrega)) end |
#add_to_set(adds) ⇒ nil
Ejecute un $addToSet atómico en los documentos coincidentes.
19 20 21 |
# Archivo 'lib/mongoid/contextual/atomic.rb', línea 19 def Añadir a conjunto(agrega) vista.update_many('$addToSet' => collect_operations(agrega)) end |
#bit(bits) ⇒ nil
Realizar una operación atómica $bit en los documentos coincidentes.
43 44 45 |
# Archivo 'lib/mongoid/contextual/atomic.rb', línea 43 def Bit(bits) vista.update_many('$bit' => collect_operations(bits)) end |
#inc(incs) ⇒ nil
Realiza una operación $inc atómica en los documentos coincidentes.
55 56 57 |
# Archivo 'lib/mongoid/contextual/atomic.rb', línea 55 def inc(incs) vista.update_many('$inc' => collect_operations(incs)) end |
#mul(factores) ⇒ nil
Realiza una operación atómica $mul en los documentos que coincidan.
67 68 69 |
# Archivo 'lib/mongoid/contextual/atomic.rb', línea 67 def mul(factores) vista.update_many('$mul' => collect_operations(factores)) end |
#pop(pops) ⇒ nil
Realice una operación atómica de $pop en los documentos coincidentes.
82 83 84 |
# Archivo 'lib/mongoid/contextual/atomic.rb', línea 82 def pop(Pops) vista.update_many('$pop' => collect_operations(Pops)) end |
#pull(pulls) ⇒ nil
La extracción de expresiones aún no es compatible.
Realizar una operación atómica $pull en los documentos coincidentes.
96 97 98 |
# Archivo 'lib/mongoid/contextual/atomic.rb', línea 96 def tirar(extracciones) vista.update_many('$pull' => collect_operations(extracciones)) end |
#pull_all(pulls) ⇒ nil
Realice una operación atómica $pullAll en los documentos coincidentes.
108 109 110 |
# Archivo 'lib/mongoid/contextual/atomic.rb', línea 108 def pull_all(extracciones) vista.update_many('$pullAll' => collect_operations(extracciones)) end |
#push(pushes) ⇒ nil
Realice una operación $push atómica en los documentos coincidentes.
120 121 122 |
# Archivo 'lib/mongoid/contextual/atomic.rb', línea 120 def push(empuja) vista.update_many('$push' => collect_operations(empuja)) end |
#push_all(impulsos) ⇒ nil
Realizar una operación atómica $push/$each en los documentos correspondientes.
132 133 134 |
# Archivo 'lib/mongoid/contextual/atomic.rb', línea 132 def empujar todo(empuja) vista.update_many('$push' => collect_each_operations(empuja)) end |
#rename(renames) ⇒ nil
Realiza un $rename atómico de campos en los documentos coincidentes.
144 145 146 147 148 149 |
# Archivo 'lib/mongoid/contextual/atomic.rb', línea 144 def renombrar(renombramientos) Operaciones = renombramientos.each_with_object({}) hacer |(old_name, new_name), ops| ops[old_name] = new_name.to_s end vista.update_many('$rename' => collect_operations(Operaciones)) end |
#set(sets) ⇒ nil
Realiza un $set atómico de campos en los documentos coincidentes.
159 160 161 |
# Archivo 'lib/mongoid/contextual/atomic.rb', línea 159 def Configura(conjuntos) vista.update_many('$set' => collect_operations(conjuntos)) end |
#set_max(fields) ⇒ nil También conocido como: clamp_lower_bound
Debido a la existencia de Mongoid::Contextual::Aggregable::Mongo#max, este método no puede llamarse #max, y por lo tanto rompe la convención de otros métodos similares de llevar el nombre de la operación de MongoDB que ejecutan.
Realiza una operación atómica de actualización $max en el campo o campos indicados. Cada campo se establecerá en el valor máximo de [valor_actual, valor dado]. Esto tiene la consecuencia de asegurar que cada campo no sea menor que el valor dado; es decir, el valor dado es el mínimo efectivo para ese campo.
219 220 221 |
# Archivo 'lib/mongoid/contextual/atomic.rb', línea 219 def set_max(Campos) vista.update_many('$max' => collect_operations(Campos)) end |
#set_min(campos) ⇒ nil También conocido como: clamp_upper_bound
Debido a la existencia de Mongoid::Contextual::Aggregable::Mongo#min, este método no puede llamarse #min, y por tanto rompe esa convención de otros métodos similares de ser llamados por la operación MongoDB que realizan.
Realiza una operación atómica de actualización $min en el campo o campos dados. Cada campo se establecerá con el mínimo de [valor_actual, valor dado]. Esto tiene el efecto de garantizar que cada campo no sea mayor que el valor dado; en otras palabras, el valor dado es el máximo efectivo para ese campo.
196 197 198 |
# Archivo 'lib/mongoid/contextual/atomic.rb', línea 196 def set_min(Campos) vista.update_many('$min' => collect_operations(Campos)) end |
#unset(*unsets) ⇒ nil
Realiza un $unset atómico de un campo en los documentos coincidentes.
174 175 176 |
# Archivo 'lib/mongoid/contextual/atomic.rb', línea 174 def Sin establecer(*No establecidos) vista.update_many('$unset' => collect_unset_operations(No establecidos)) end |