Módulo: Mongoid::Persistable::Pullable

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

Overview

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

Resumen del método de instancia colapsar

Detalles del método de instancia

#pull(pulls) ⇒ Document

Nota:

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

Extrae valores individuales de los arreglos proporcionados.

Ejemplos:

Extraer un valor del arreglo.

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

Parámetros:

  • extracciones (encriptada)

    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(extracciones)
  preparar_operación_atómica hacer |ops|
    proceso_operaciones_atómicas(extracciones) hacer |Campo, Valor|
      (enviar(Campo) || []).borrar(Valor)
      ops[atomic_attribute_name(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:

  • extracciones (encriptada)

    El pull 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(extracciones)
  preparar_operación_atómica hacer |ops|
    proceso_operaciones_atómicas(extracciones) hacer |Campo, Valor|
      existente = enviar(Campo) || []
      Valor.cada{ |val| existente.borrar(val) }
      ops[atomic_attribute_name(Campo)] = Valor
    end
    { "$pullAll" => ops }
  end
end