Clase: Mongoid::Atomic::Modificadores

Hereda:
Picadillo
  • Objeto
Mostrar todo
Definido en:
lib/mongoid/atomic/modifiers.rb

Overview

Esta clase contiene la lógica para soportar operaciones atómicas contra la base de datos.

Colapso del resumen del método de instancia

Detalles del método de instancia

#add_to_set(modificaciones) ⇒ Objeto

Agregue los modificadores atómicos $addToSet al hash.

Ejemplos:

Add the $addToSet modifiers.

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

Parámetros:

  • modificaciones (Hash)

    Los modificadores añadidos al conjunto.



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

def añadir_al_conjunto(modificaciones)
  modificaciones.each_pair hacer |Campo, valor|
    Si agregar_a_conjuntos.has_key?(Campo)
      valor.cada hacer |val|
        agregar_a_conjuntos[Campo]["$cada"].Push(val)
      end
    else
      agregar_a_conjuntos[Campo] = { "$cada" => valor }
    end
  end
end

#pull(modificaciones) ⇒ Objeto

Agrega todos los modificadores al hash de modificadores.

Ejemplos:

Agregar todas las operaciones de extracción.

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

Parámetros:

  • modificaciones (Hash)

    Extraer todos los modificadores.



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

def tirar(modificaciones)
  modificaciones.each_pair hacer |Campo, valor|
    tira[Campo] = valor
    campos de extracción[Campo.división(". ", 2)[0]] = Campo
  end
end

#pull_all(modificaciones) ⇒ Objeto

Agrega todos los modificadores al hash de modificadores.

Ejemplos:

Agregar todas las operaciones de extracción.

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

Parámetros:

  • modificaciones (Hash)

    Extraer todos los modificadores.



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

def tirar_todo(modificaciones)
  modificaciones.each_pair hacer |Campo, valor|
    add_operation(tirar_todos, Campo, valor)
    campos de extracción[Campo.división(". ", 2)[0]] = Campo
  end
end

#push(modificaciones) ⇒ Objeto

Adds push modifiers to the modifiers hash.

Ejemplos:

Añadir operaciones push.

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

Parámetros:

  • modificaciones (Hash)

    The push modifiers.



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

def Push(modificaciones)
  modificaciones.each_pair hacer |Campo, valor|
    campos_de_inserción[Campo] = Campo
    mods = ¿empujar_conflicto?(Campo) ? empujones conflictivos : empuja
    add_operation(mods, Campo, { '$each' => Arreglo.envolver(valor) })
  end
end

#set(modificaciones) ⇒ objeto

Agrega operaciones de conjunto al hash de modificadores.

Ejemplos:

Agrega operaciones de conjunto.

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

Parámetros:

  • modificaciones (Hash)

    The set modifiers.



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

def conjunto(modificaciones)
  modificaciones.each_pair hacer |Campo, valor|
    siguiente Si Campo == "_identificación"
    mods = ¿establecer_conflicto?(Campo) ? conjuntos conflictivos : conjuntos
    add_operation(mods, Campo, valor)
    establecer_campos[Campo.división(". ", 2)[0]] = Campo
  end
end

#unset(modificaciones) ⇒ Objeto

Agrega operaciones no establecidas al hash de modificadores.

Ejemplos:

Agrega operaciones unset.

modifiers.unset([ "addresses" ])

Parámetros:

  • modificaciones (Matriz<String>)

    Los nombres de asociaciones no establecidas.



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

def desarmado(modificaciones)
  modificaciones.cada hacer |Campo|
    desajustes.update(Campo => true)
  end
end