Módulo: Mongoid::Matcher::Expression Privado

Definido en:
lib/mongoid/matcher/expresión.rb

Overview

Este módulo forma parte de una API privada. Debe evitar su uso siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.

Módulo singleton base utilizado para evaluar si un documento determinado en memoria coincide con una expresión de consulta MSQL.

Colapso delresumen del método de clase

Detalles del método de clase

.¿coincide?(documento, expr) ⇒ verdadero | falso, booleano

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Devuelve si un documento cumple con una expresión de query.

Parámetros:

Devuelve:

  • (verdadero | falso)

    Si el documento coincide.

  • (Booleano)


19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# Archivo 'lib/mongoid/matcher/expression.rb', línea 19

module_function def ¿partidos?(Documento, expr)
  Si expr.nil?
    propagar Errors::Consulta no válida, "Condiciónnula en el contexto deexpresión"
  end
  a no ser que Picadillo === expr
    propagar Errors::Consulta no válida, "Laconsulta MQL debe proporcionarse como unhash"
  end
  expr.¿todo? hacer |k, expr_v|
    k = k.a_s
    Si k == "$comentario"
      # Nada
      return true
    end
    Si k.empezar_con?('$')
      Operador de expresión.Obtener(k).¿partidos?(Documento, expr_v)
    else
      values = Comparador.extraer_atributo(Documento, k)
      Si values.longitud > 0
        values.any? hacer |v|
          Expresión de campo.¿partidos?(true, v, expr_v)
        end
      else
        Expresión de campo.¿partidos?(false, nulo, expr_v)
      end
    end
  end
end