Classe: Mongoid::Atomic::Modifiers

Herda:
Hash
  • Objeto
mostrar tudo
Definido em:
lib/mongoid/atomic/modifiers.rb

Visão geral

Essa classe contém a lógica para suportar operações atômicas no banco de banco de dados.

Recolhimento do Resumo do método de instância

Detalhes do método de instância

#add_to_set(modifications) ➤ Object

Adicione os modificadores atômicos $addToSet ao hash.

Exemplos:

Add the $addToSet modifiers.

modifiers.add_to_set({ "preference_ids" => [ "one" ] })

Parâmetros:

  • modificações (Hash)

    O adicionar para definir modificadores.



17
18
19
20
21
22
23
24
25
26
27
# File 'lib/mongoid/atomic/modifiers.rb', line 17

def add_to_set(modificações)
  modificações.cada_pair fazer |Campo, valor|
    se add_to_sets.has_key?(Campo)
      valor.cada fazer |valid|
        add_to_sets[Campo]["$each"].push(valid)
      end
    mais
      add_to_sets[Campo] = { "$each" => valor }
    end
  end
end

#pull(modificações) ➤ Objeto

Adiciona todos os modificadores ao hash de modificadores.

Exemplos:

Adicione pull todas as operações.

modifiers.pull({ "addresses" => { "_id" => { "$in" => [ 1, 2, 3 ]}}})

Parâmetros:

  • modificações (Hash)

    Atrações todos os modificadores.



48
49
50
51
52
53
# File 'lib/mongoid/atomic/modifiers.rb', line 48

def pull(modificações)
  modificações.cada_pair fazer |Campo, valor|
    puxa[Campo] = valor
    pull_fields[Campo.dividir(".", 2)[0]] = Campo
  end
end

#pull_all(modifications) ➤ Object

Adiciona todos os modificadores ao hash de modificadores.

Exemplos:

Adicione pull todas as operações.

modifiers.pull_all({ "addresses" => { "street" => "Bond" }})

Parâmetros:

  • modificações (Hash)

    Atrações todos os modificadores.



35
36
37
38
39
40
# File 'lib/mongoid/atomic/modifiers.rb', line 35

def pull_all(modificações)
  modificações.cada_pair fazer |Campo, valor|
    add_operation(pull_alls, Campo, valor)
    pull_fields[Campo.dividir(".", 2)[0]] = Campo
  end
end

#push(modificações) ➤ Objeto

Adiciona modificadores push ao hash de modificadores.

Exemplos:

Adicionar operações de push.

modifiers.push({ "addresses" => { "street" => "Bond" }})

Parâmetros:

  • modificações (Hash)

    The push modifiers.



61
62
63
64
65
66
67
# File 'lib/mongoid/atomic/modifiers.rb', line 61

def push(modificações)
  modificações.cada_pair fazer |Campo, valor|
    push_fields[Campo] = Campo
    mods = push_conflict?(Campo) ? conflitantes_pushes : push(s)
    add_operation(mods, Campo, { '$each' => Array.wrap(valor) })
  end
end

#set(modificações) ➤ Objeto

Adiciona operações definidas ao hash de modificadores.

Exemplos:

Adicionar operações definidas.

modifiers.set({ "title" => "sir" })

Parâmetros:

  • modificações (Hash)

    The set modifiers.



75
76
77
78
79
80
81
82
# File 'lib/mongoid/atomic/modifiers.rb', line 75

def set(modificações)
  modificações.cada_pair fazer |Campo, valor|
    próximo se Campo == "_id"
    mods = set_conflict?(Campo) ? conflitante_conjuntos : Conjuntos
    add_operation(mods, Campo, valor)
    set_fields[Campo.dividir(".", 2)[0]] = Campo
  end
end

#desconfigurar(modificações) ➤ Objeto

Adiciona operações de desconfiguração ao hash de modificadores.

Exemplos:

Adicionar operações de desconfiguração.

modifiers.unset([ "addresses" ])

Parâmetros:

  • modificações (Array<String>)

    Os nomes de associação a serem desconfigurados.



90
91
92
93
94
# File 'lib/mongoid/atomic/modifiers.rb', line 90

def Desconfigurar(modificações)
  modificações.cada fazer |Campo|
    Desconfigura.update(Campo => true)
  end
end