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 se pueden aplicar para actualizar todos los documentos en la base de datos dentro del alcance de los criterios, sin cargar cada documento 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
Realice una operación atómica $inc en los documentos coincidentes.
-
#mul(factores) ⇒ nulo
Realice una operación atómica $mul en los documentos coincidentes.
-
#pop(pops) ⇒ nil
Realice una operación atómica de $pop en los documentos coincidentes.
-
#pull(pulls) ⇒ nil
Realice 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
Realice una operación atómica $push/$each en los documentos coincidentes.
-
#renombrar(renombrar) ⇒ nulo
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.
34 35 36 |
# Archivo 'lib/mongoid/contextual/atomic.rb', línea 34 def add_each_to_set(agrega) vista.update_many("$addToSet" => recopilar_cada_operación(agrega)) end |
#add_to_set(adds) ⇒ nil
Ejecute un $addToSet atómico en los documentos coincidentes.
22 23 24 |
# Archivo 'lib/mongoid/contextual/atomic.rb', línea 22 def Añadir a conjunto(agrega) vista.update_many("$addToSet" => operaciones de recopilación(agrega)) end |
#bit(bits) ⇒ nil
Realizar una operación atómica $bit en los documentos coincidentes.
46 47 48 |
# Archivo 'lib/mongoid/contextual/atomic.rb', línea 46 def bit(los bits) vista.update_many("$bit" => operaciones de recopilación(los bits)) end |
#inc(incs) ⇒ nil
Realice una operación atómica $inc en los documentos coincidentes.
58 59 60 |
# Archivo 'lib/mongoid/contextual/atomic.rb', línea 58 def Inc(incs) vista.update_many("$inc" => operaciones de recopilación(incs)) end |
#mul(factores) ⇒ nulo
Realice una operación atómica $mul en los documentos coincidentes.
70 71 72 |
# Archivo 'lib/mongoid/contextual/atomic.rb', línea 70 def mul(factores) vista.update_many("$mul" => operaciones de recopilación(factores)) end |
#pop(pops) ⇒ nil
Realice una operación atómica de $pop en los documentos coincidentes.
85 86 87 |
# Archivo 'lib/mongoid/contextual/atomic.rb', línea 85 def pop(COP) vista.update_many("$pop" => operaciones de recopilación(COP)) end |
#pull(pulls) ⇒ nil
La extracción de expresiones aún no es compatible.
Realice una operación atómica $pull en los documentos coincidentes.
99 100 101 |
# Archivo 'lib/mongoid/contextual/atomic.rb', línea 99 def tirar(extracciones) vista.update_many("$pull" => operaciones de recopilación(extracciones)) end |
#pull_all(pulls) ⇒ nil
Realice una operación atómica $pullAll en los documentos coincidentes.
111 112 113 |
# Archivo 'lib/mongoid/contextual/atomic.rb', línea 111 def tirar_todo(extracciones) vista.update_many("$pullAll" => operaciones de recopilación(extracciones)) end |
#push(pushes) ⇒ nil
Realice una operación $push atómica en los documentos coincidentes.
123 124 125 |
# Archivo 'lib/mongoid/contextual/atomic.rb', línea 123 def push(empuja) vista.update_many("$push" => operaciones de recopilación(empuja)) end |
#push_all(impulsos) ⇒ nil
Realice una operación atómica $push/$each en los documentos coincidentes.
135 136 137 |
# Archivo 'lib/mongoid/contextual/atomic.rb', línea 135 def empujar todo(empuja) vista.update_many("$push" => recopilar_cada_operación(empuja)) end |
#rename(renames) ⇒ nil
Realiza un $rename atómico de campos en los documentos coincidentes.
147 148 149 150 151 152 153 |
# Archivo 'lib/mongoid/contextual/atomic.rb', línea 147 def renombrar(renombramientos) Operaciones = renombramientos.inyectar({}) hacer |ops, (old_name, new_name)| ops[old_name] = new_name.to_s ops end vista.update_many("$rename" => operaciones de recopilación(Operaciones)) end |
#set(sets) ⇒ nil
Realiza un $set atómico de campos en los documentos coincidentes.
163 164 165 |
# Archivo 'lib/mongoid/contextual/atomic.rb', línea 163 def conjunto(conjuntos) vista.update_many("$set" => operaciones de recopilación(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 de actualización atómica de $max en el campo o campos indicados. Cada campo se establecerá en el máximo de [valor_actual, valor indicado]. Esto garantiza que ningún campo sea menor que el valor indicado; en otras palabras, el valor indicado es el mínimo efectivo para ese campo.
223 224 225 |
# Archivo 'lib/mongoid/contextual/atomic.rb', línea 223 def set_max(campos) vista.update_many("$máx" => operaciones de recopilación(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.
200 201 202 |
# Archivo 'lib/mongoid/contextual/atomic.rb', línea 200 def set_min(campos) vista.update_many("$min" => operaciones de recopilación(campos)) end |
#unset(*unsets) ⇒ nil
Realiza un $unset atómico de un campo en los documentos coincidentes.
178 179 180 |
# Archivo 'lib/mongoid/contextual/atomic.rb', línea 178 def desarmado(*No establecidos) vista.update_many('$unset' => collect_unset_operations(No establecidos)) end |