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 documentos no banco de banco de dados dentro do escopo dos critérios, sem carregar cada documento 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.
34 35 36 |
# Arquivo 'lib/mongoid/contextual/atomic.rb', linha 34 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.
22 23 24 |
# Arquivo 'lib/mongoid/contextual/atomic.rb', linha 22 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.
46 47 48 |
# Arquivo 'lib/mongoid/contextual/atomic.rb', linha 46 def Bit(bits) vista.update_many("$bit" => collection_operations(bits)) end |
#inc(incs) ⇒ nil
Execute uma operação atômica $inc nos documentos correspondentes.
58 59 60 |
# Arquivo 'lib/mongoid/contextual/atomic.rb', linha 58 def inc(incs) vista.update_many("$inc" => collection_operations(incs)) end |
#mul(fatores) ➤ nil
Execute uma operação atômica $mul nos documentos correspondentes.
70 71 72 |
# Arquivo 'lib/mongoid/contextual/atomic.rb', linha 70 def mul(fatores) vista.update_many("$mul" => collection_operations(fatores)) end |
#pop(pops) ➤ nil
Execute uma operação $pop atômica nos documentos correspondentes.
85 86 87 |
# Arquivo 'lib/mongoid/contextual/atomic.rb', linha 85 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.
99 100 101 |
# Arquivo 'lib/mongoid/contextual/atomic.rb', linha 99 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.
111 112 113 |
# Arquivo 'lib/mongoid/contextual/atomic.rb', linha 111 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.
123 124 125 |
# Arquivo 'lib/mongoid/contextual/atomic.rb', linha 123 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.
135 136 137 |
# Arquivo 'lib/mongoid/contextual/atomic.rb', linha 135 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.
147 148 149 150 151 152 153 |
# Arquivo 'lib/mongoid/contextual/atomic.rb', linha 147 def renomear(renomeia) operations = renomeia.injetar({}) fazer |ops, (old_name, new_name)| ops[old_name] = new_name.to_s ops end vista.update_many("$renomear" => collection_operations(operations)) end |
#set(sets) ➤ nil
Executar um $set atômico de campos nos documentos correspondentes.
163 164 165 |
# Arquivo 'lib/mongoid/contextual/atomic.rb', linha 163 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.
223 224 225 |
# Arquivo 'lib/mongoid/contextual/atomic.rb', linha 223 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.
200 201 202 |
# Arquivo 'lib/mongoid/contextual/atomic.rb', linha 200 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.
178 179 180 |
# Arquivo 'lib/mongoid/contextual/atomic.rb', linha 178 def Desconfigurar(*Desconfigura) vista.update_many('$unset' => collection_unset_operations(Desconfigura)) end |