Módulo: Mongoid::Contextual::Atomic
- Definido em:
- lib/mongoid/contextual/atomic.rb
Visão geral
Módulo Mixin incluído no Mongoid::Criteria que fornece uma interface de método direto para os operadores de atualização do MongoDB ($set, $pull, $inc, etc.) Esses operadores podem ser aplicados para atualizar todos os document no banco de dados dentro do escopo dos critérios, sem carregar cada document na memória do Mongoid.
Recolhimento do Resumo do método de instância
-
#add_each_to_set(adds) ➤ nil
Execute um $addToSet/$each atômico nos documentos correspondentes.
-
#add_to_set(adds) ⇒ nil
Execute um $addToSet atômico nos documentos correspondentes.
-
#bit(bits) ➤ nil
Execute uma operação atômica $bit nos documentos correspondentes.
-
#inc(incs) ⇒ nil
Execute uma operação atômica $inc nos documentos correspondentes.
-
#mul(fatores) ➤ nil
Execute uma operação atômica $mul nos documentos correspondentes.
-
#pop(pops) ⇒ nil
Execute uma operação $pop atômica nos documentos correspondentes.
-
#pull(pulls) ➤ nil
Execute uma operação atômica $pull nos documentos correspondentes.
-
#pull_all(pulls) ➤ nil
Execute uma operação atômica $pullAll nos documentos correspondentes.
-
#push(pushes) ⇒ nil
Execute uma operação $push atômica nos documentos correspondentes.
-
#push_all(pushes) ➤ nil
Execute uma operação atômica $push/$each nos documentos correspondentes.
-
#rename(renomeia) ➤ nil
Executa um $rename atômico dos campos nos documentos correspondentes.
-
#set(sets) ⇒ nil
Executar um $set atômico de campos nos documentos correspondentes.
-
#set_max(fields) ➤ nil (também: #Clamp_lower_bound)
Executa uma operação de atualização atômica $max no campo ou campos fornecidos.
-
#set_min(fields) ➤ nil (também: #Clamp_upper_bound)
Executa uma operação de atualização atômica $min no campo ou campos fornecidos.
-
#unset(*unsets) ⇒ nil
Executar um $unset atômico de um campo nos documentos correspondentes.
Detalhes do método de instância
#add_each_to_set(adds) ➤ nil
Execute um $addToSet/$each atômico nos documentos correspondentes.
31 32 33 |
# Arquivo 'lib/mongoid/contextual/atomic.rb', linha 31 def add_each_to_set(adiciona) vista.update_many('$addToSet' => collection_each_operations(adiciona)) end |
#add_to_set(adds) ⇒ nil
Execute um $addToSet atômico nos documentos correspondentes.
19 20 21 |
# Arquivo 'lib/mongoid/contextual/atomic.rb', linha 19 def add_to_set(adiciona) vista.update_many('$addToSet' => collection_operations(adiciona)) end |
#bit(bits) ⇒ nil
Execute uma operação atômica $bit nos documentos correspondentes.
43 44 45 |
# Arquivo 'lib/mongoid/contextual/atomic.rb', linha 43 def Bit(bits) vista.update_many('$bit' => collection_operations(bits)) end |
#inc(incs) ⇒ nil
Execute uma operação atômica $inc nos documentos correspondentes.
55 56 57 |
# Arquivo 'lib/mongoid/contextual/atomic.rb', linha 55 def inc(incs) vista.update_many('$inc' => collection_operations(incs)) end |
#mul(fatores) ➤ nil
Execute uma operação atômica $mul nos documentos correspondentes.
67 68 69 |
# Arquivo 'lib/mongoid/contextual/atomic.rb', linha 67 def mul(fatores) vista.update_many('$mul' => collection_operations(fatores)) end |
#pop(pops) ➤ nil
Execute uma operação $pop atômica nos documentos correspondentes.
82 83 84 |
# Arquivo 'lib/mongoid/contextual/atomic.rb', linha 82 def Pop(pops) vista.update_many('$pop' => collection_operations(pops)) end |
#pull(pulls) ➤ nil
A extração de expressões ainda não é suportada.
Execute uma operação atômica $pull nos documentos correspondentes.
96 97 98 |
# Arquivo 'lib/mongoid/contextual/atomic.rb', linha 96 def pull(puxa) vista.update_many('$pull' => collection_operations(puxa)) end |
#pull_all(pulls) ⇒ nil
Execute uma operação atômica $pullAll nos documentos correspondentes.
108 109 110 |
# Arquivo 'lib/mongoid/contextual/atomic.rb', linha 108 def pull_all(puxa) vista.update_many('$pullAll' => collection_operations(puxa)) end |
#push(pushes) ➤ nil
Execute uma operação $push atômica nos documentos correspondentes.
120 121 122 |
# Arquivo 'lib/mongoid/contextual/atomic.rb', linha 120 def push(push(s)) vista.update_many('$push' => collection_operations(push(s))) end |
#push_all(pushes) ➤ nil
Execute uma operação atômica $push/$each nos documentos correspondentes.
132 133 134 |
# Arquivo 'lib/mongoid/contextual/atomic.rb', linha 132 def push_all(push(s)) vista.update_many('$push' => collection_each_operations(push(s))) end |
#rename(renomeia) ➤ nil
Executa um $rename atômico dos campos nos documentos correspondentes.
144 145 146 147 148 149 |
# Arquivo 'lib/mongoid/contextual/atomic.rb', linha 144 def renomear(renomeia) operations = renomeia.cada_com_objeto({}) fazer |(old_name, new_name), ops| ops[old_name] = new_name.to_s end vista.update_many('$rename' => collection_operations(operations)) end |
#set(sets) ➤ nil
Executar um $set atômico de campos nos documentos correspondentes.
159 160 161 |
# Arquivo 'lib/mongoid/contextual/atomic.rb', linha 159 def set(Conjuntos) vista.update_many('$set' => collection_operations(Conjuntos)) end |
#set_max(fields) ➤ nil Também conhecido como: chunk_lower_bound
Devido à existência de Mongoid::Contextual::Aggregable::Mongo#max, este método não pode ser nomeado como #max e, portanto, quebra a convenção de outros métodos semelhantes de serem nomeados para a operação do MongoDB que executam.
Executa uma operação de atualização atômica $max no campo ou campos fornecidos. Cada campo será definido para o máximo de [current_value, determinado valor]. Isso tem o efeito de garantir que cada campo não seja menor que o valor fornecido; em outras palavras, o valor fornecido é o mínimo efetivo para esse campo.
219 220 221 |
# Arquivo 'lib/mongoid/contextual/atomic.rb', linha 219 def set_max(Campos) vista.update_many('$max' => collection_operations(Campos)) end |
#set_min(fields) ➤ nil Também conhecido como: grampeador_upper_bound
Devido à existência de Mongoid::Contextual::aggregable::Mongo#min, este método não pode ser nomeado como #min e, portanto, quebra essa convenção de outros métodos semelhantes de serem nomeados para a operação MongoDB que executam.
Executa uma operação de atualização atômica $min no campo ou campos fornecidos. Cada campo será definido como o mínimo de [current_value, determinado valor]. Isso tem o efeito de garantir que cada campo não seja maior que o valor fornecido; em outras palavras, o valor fornecido é o máximo efetivo para esse campo.
196 197 198 |
# Arquivo 'lib/mongoid/contextual/atomic.rb', linha 196 def set_min(Campos) vista.update_many('$min' => collection_operations(Campos)) end |
#unset(*unsets) ⇒ nil
Executar um $unset atômico de um campo nos documentos correspondentes.
174 175 176 |
# Arquivo 'lib/mongoid/contextual/atomic.rb', linha 174 def Desconfigurar(*Desconfigura) vista.update_many('$unset' => collection_unset_operations(Desconfigura)) end |