Módulo: Mongoid::Matcher::ElemMatch Privado
- Definido en:
- lib/mongoid/matcher/elem_match.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.
Comparador en memoria para la expresión $elemMatch.
Colapso delresumen del método de clase
-
.¿coincide?(existe, valor, condición) ⇒ verdadero | falso, booleano
privada
Devuelve si un valor satisface una expresión $elemMatch.
Detalles del método de clase
.¿coincide?(existe, valor, condición) ⇒ 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 valor satisface una expresión $elemMatch.
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 46 47 48 |
# Archivo 'lib/mongoid/matcher/elem_match.rb', línea 21 module_function def ¿partidos?(exists, valor, condición) a no ser que Picadillo === condición propagar Errors::Consulta no válida, "$elemMatch requiere un operando hash: #{Errors::InvalidQuery. truncate_expr(condition)}" end Si Arreglo === valor && !valor.¿vacío? valor.any? hacer |v| Expresión de coincidencia de elementos.¿partidos?(v, condición) end else # Validar que la condición sea válida, aunque nunca lo intentaremos # haciéndolo coincidir. condición.cada hacer |k, v| k = k.a_s Si k.empezar_con?('$') begin Operador de expresión.Obtener(k) rescate Mongoid::Errors::Operador de expresión no válida begin Operador de campo.Obtener(k) rescate Mongoid::Errors::Operador de campo inválido => Excª propagar Mongoid::Errors::Operador de coincidencia de elementos no válido.Nuevo(Excª.operador) end end end end false end end |