Módulo: Mongoid::Contextual::Atomic

Definido em:
build/mongoid-8.1/lib/mongoid/contextual/atomic.rb

Recolhimento do Resumo do método de instância

Detalhes do método de instância

#add_each_to_set(adds) ➤ nil

Execute um $addToSet/$each atômico nos documentos correspondentes.

Exemplos:

Adicione o valor ao conjunto.

context.add_each_to_set(members: ["Dave", "Bill"], genres: ["Electro", "Disco"])

Parâmetros:

  • adiciona (Hash)

    As operações.

Retorna:

  • (nil)

    Nil.



27
28
29
# File 'build/mongoid-8.1/lib/mongoid/contextual/atomic.rb', linha 27

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.

Exemplos:

Adicione o valor ao conjunto.

context.add_to_set(members: "Dave", genres: "Electro")

Parâmetros:

  • adiciona (Hash)

    As operações.

Retorna:

  • (nil)

    Nil.



15
16
17
# File 'build/mongoid-8.1/lib/mongoid/contextual/atomic.rb', linha 15

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.

Exemplos:

Execute a operação bitwise.

context.bit(likes: { and: 14, or: 4 })

Parâmetros:

  • bits (Hash)

    As operações.

Retorna:

  • (nil)

    Nil.



39
40
41
# File 'build/mongoid-8.1/lib/mongoid/contextual/atomic.rb', linha 39

def Bit(bits)
  vista.update_many("$bit" => collection_operations(bits))
end

#inc(incs) ⇒ nil

Execute uma operação atômica $inc nos documentos correspondentes.

Exemplos:

Executar o incremento atômico.

context.inc(likes: 10)

Parâmetros:

  • incs (Hash)

    As operações.

Retorna:

  • (nil)

    Nil.



51
52
53
# File 'build/mongoid-8.1/lib/mongoid/contextual/atomic.rb', linha 51

def inc(incs)
  vista.update_many("$inc" => collection_operations(incs))
end

#pop(pops) ➤ nil

Execute uma operação $pop atômica nos documentos correspondentes.

Exemplos:

Estale o primeiro valor nas correspondências.

context.pop(members: -1)

Pop o último valor nas correspondências.

context.pop(members: 1)

Parâmetros:

  • pops (Hash)

    As operações.

Retorna:

  • (nil)

    Nil.



66
67
68
# File 'build/mongoid-8.1/lib/mongoid/contextual/atomic.rb', linha 66

def Pop(pops)
  vista.update_many("$pop" => collection_operations(pops))
end

#pull(pulls) ➤ nil

Observação:

A extração de expressões ainda não é suportada.

Execute uma operação atômica $pull nos documentos correspondentes.

Exemplos:

Puxe o valor das correspondências.

context.pull(members: "Dave")

Parâmetros:

  • puxa (Hash)

    As operações.

Retorna:

  • (nil)

    Nil.



80
81
82
# File 'build/mongoid-8.1/lib/mongoid/contextual/atomic.rb', linha 80

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.

Exemplos:

Puxe todos os valores correspondentes das correspondências.

context.pull_all(:members, [ "Alan", "Vince" ])

Parâmetros:

  • puxa (Hash)

    As operações.

Retorna:

  • (nil)

    Nil.



92
93
94
# File 'build/mongoid-8.1/lib/mongoid/contextual/atomic.rb', linha 92

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.

Exemplos:

Envie o valor para os Docs correspondentes .

context.push(members: "Alan")

Parâmetros:

  • push(s) (Hash)

    As operações.

Retorna:

  • (nil)

    Nil.



104
105
106
# File 'build/mongoid-8.1/lib/mongoid/contextual/atomic.rb', linha 104

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.

Exemplos:

Envie os valores para os Docs correspondentes .

context.push_all(members: [ "Alan", "Fletch" ])

Parâmetros:

  • push(s) (Hash)

    As operações.

Retorna:

  • (nil)

    Nil.



116
117
118
# File 'build/mongoid-8.1/lib/mongoid/contextual/atomic.rb', linha 116

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.

Exemplos:

Renomeie os campos nos documentos correspondentes.

context.rename(members: :artists)

Parâmetros:

  • renomeia (Hash)

    As operações.

Retorna:

  • (nil)

    Nil.



128
129
130
131
132
133
134
# File 'build/mongoid-8.1/lib/mongoid/contextual/atomic.rb', linha 128

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.

Exemplos:

Defina o valor do campo nas correspondências.

context.set(name: "Depeche Mode")

Parâmetros:

  • Conjuntos (Hash)

    As operações.

Retorna:

  • (nil)

    Nil.



144
145
146
# File 'build/mongoid-8.1/lib/mongoid/contextual/atomic.rb', linha 144

def set(Conjuntos)
  vista.update_many("$set" => collection_operations(Conjuntos))
end

#unset(*args) ➤ nil

Executar um $unset atômico de um campo nos documentos correspondentes.

Exemplos:

Desarrume o campo para as correspondências.

context.unset(:name)

Parâmetros:

  • *args ([ string | Símbolo | Array <string | Símbolo> | Hash ]...)

    O(s) nome(s) do(s) campo(s) a ser(em) desconfigurado(s). Se um Hash for especificado, suas chaves serão usadas independentemente de qual seja o valor de cada chave, mesmo que o valor seja nulo ou falso.

Retorna:

  • (nil)

    Nil.



159
160
161
162
163
164
# File 'build/mongoid-8.1/lib/mongoid/contextual/atomic.rb', linha 159

def Desconfigurar(*Args)
  Campos = Args.map { |uma| uma.is_a?(Hash) ? uma.keys : uma }
               .__find_args__
               .map { |f| [database_field_name(f), true] }
  vista.update_many("$unset" => Hash[Campos])
end