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 de campo/valor.

Devuelve:



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

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:

Extrae valores de los arreglos.

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

Parámetros:

  • extracciones (encriptada)

    El pull todas las operaciones.

Devuelve:



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

def pull_all(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