Módulo: Mongoid::Matcher::ElemMatch Privado
- Definido en:
- lib/mongoid/matcher/elem_match.rb
Overview
Este módulo es parte de una API privada. Deberías evitar usar este módulo si es posible, ya que puede ser removido o cambiado en el futuro.
Sistema de emparejamiento en memoria para la expresión $elemMatch.
Resumen del método de clase colapsar
-
.match?(_exists, value, condition) ⇒ true | false, booleano
privado
Devuelve si un valor cumple con una expresión $elemMatch.
Detalles del método de clase
.¿coincidencias?(_existe, valor, condición) ⇒ verdadero | falso, Booleano
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve si un valor cumple con una expresión $elemMatch.
18 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 46 |
# Archivo 'lib/mongoid/matcher/elem_match.rb', línea 18 module_function def coincide?(_exists, Valor, condición) a menos que condición.is_a?(encriptada) propagar Errors::Consulta no válida, "$elemMatch requiere un operando Hash: #{Errores::ConsultaInválida.truncate_expr(condición)}" end si Valor.is_a?(Arreglo) && !Valor.¿vacío? Valor.any? hacer |v| ElemMatchExpression.coincide?(v, condición) end else # Valide que la condición sea válida, aunque nunca lo intentaremos # coindidiendolo. condición.cada hacer |k, _v| k = k.to_s Next a menos que k.start_with?('$') begin operador de expresión.Obtener(k) rescate Mongoid::Errors::InvalidExpressionOperator begin Operador de campo.Obtener(k) rescate Mongoid::Errors::OperadorDeCampoNoVálido => exc propagar Mongoid::Errors::InvalidElemMatchOperator.Nuevo(exc.operador) end end end false end end |