模块:Mongoid::Matcher::Expression Private
- 定义于:
- lib/mongoid/matcher/ 表达式.rb
Overview
该模块是私有 API 的一部分。 您应尽可能避免使用此模块,因为它将来可能会被删除或更改。
基本单例模块,用于评估内存中的给定文档是否与 MSQL查询表达式匹配。
类方法摘要折叠
-
。匹配? (文档, expr) ⇒ true | false,布尔值
private
返回文档是否满足查询表达式。
类方法详细信息
。匹配? (文档, expr) ⇒ true | false ,布尔值
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
返回文档是否满足查询表达式。
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 |
# File 'lib/mongoid/matcher/ 表达式.rb', line 19 module_function def 匹配?(文档, expr) if expr.nil? 提高 Errors::InvalidQuery, "表达式上下文中的 Nil 条件" end 除非 哈希 === expr 提高 Errors::InvalidQuery, " MQL查询必须以哈希形式提供" end expr.全部? do |k, expr_v| k = k.to_s if k == " $comment " # 无 return true end if k.start_with?('$') 表达式操作符.获取(k).匹配?(文档, expr_v) else values = 匹配器.extract_attribute(文档, k) if values.长度 > 0 values.任何? do |v| FieldExpression.匹配?(true, v, expr_v) end else FieldExpression.匹配?(false, nil, expr_v) end end end end |