模块:Mongoid::Matcher::ElemMatch Private
- 定义于:
- lib/mongoid/matcher/elem_match.rb
Overview
该模块是私有 API 的一部分。 您应尽可能避免使用此模块,因为它将来可能会被删除或更改。
$elemMatch表达式的内存匹配器。
类方法摘要折叠
-
。匹配? (exists、value、condition)→ true | false,布尔值
private
返回值是否满足 $elemMatch表达式。
类方法详细信息
。匹配? (exists, value, Condition) ⇒ true | false ,布尔值
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
返回值是否满足 $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 |
# File 'lib/mongoid/matcher/elem_match.rb', line 21 module_function def 匹配?(存在, 值, 条件) 除非 哈希 === 条件 提高 Errors::InvalidQuery, " $elemMatch 需要哈希操作数: #{ Errors :: InvalidQuery . truncate_expr ( condition ) } " end if 阵列 === 值 && !值.空? 值.任何? do |v| ElemMatchExpression.匹配?(v, 条件) end else # 验证条件是否有效,尽管我们永远不会尝试 # 匹配它。 条件.每 do |k, v| k = k.to_s if k.start_with?('$') 开始 表达式操作符.获取(k) 救援 Mongoid::Errors::InvalidExpressionOperator 开始 FieldOperator.获取(k) 救援 Mongoid::Errors::InvalidFieldOperator => 排除 提高 Mongoid::Errors::InvalidElemMatchOperator.new(排除.运算符) end end end end false end end |