Módulo: Mongoide::Persistente::Extraíble

Ampliado por:
ActiveSupport::Preocupación
Incluido en:
Mongoid::Persistable
Definido en:
lib/mongoid/persistable/pullable.rb

Overview

Define el comportamiento de las operaciones $pull y $pullAll.

Colapso del resumen del método de instancia

Detalles del método de instancia

#pull(pulls) ⇒ Document

Nota:

Si se encuentran valores duplicados, se extraerán todos.

Extrae valores individuales de las matrices proporcionadas.

Ejemplos:

Extrae un valor de la matriz.

document.pull(names: "Jeff", levels: 5)

Parámetros:

  • tira (Hash)

    Los pares de extracción campo/valor.

Devuelve:



21
22
23
24
25
26
27
28
29
# Archivo 'lib/mongoid/persistable/pullable.rb', línea 21

def tirar(tira)
  preparar_operación_atómica hacer |ops|
    operaciones atómicas del proceso(tira) hacer |Campo, valor|
      (Enviar(Campo) || []).borrar(valor)
      ops[nombre_del_atributo_atómico(Campo)] = valor
    end
    { "$pull" => ops }
  end
end

#pull_all(pulls) ⇒ Document

Extrae varios valores de los campos de arreglo proporcionados.

Ejemplos:

Extraer valores de las matrices.

document.pull_all(names: [ "Jeff", "Bob" ], levels: [ 5, 6 ])

Parámetros:

  • tira (Hash)

    La extracción de todas las operaciones.

Devuelve:



39
40
41
42
43
44
45
46
47
48
# Archivo 'lib/mongoid/persistable/pullable.rb', línea 39

def tirar_todo(tira)
  preparar_operación_atómica hacer |ops|
    operaciones atómicas del proceso(tira) hacer |Campo, valor|
      existente = Enviar(Campo) || []
      valor.cada{ |val| existente.borrar(val) }
      ops[nombre_del_atributo_atómico(Campo)] = valor
    end
    { "$pullAll" => ops }
  end
end