モジュール: Mongoid::Matcher::FieldExpression Private
- 定義:
- lib/mongoid/matcher/field_ Expression.rb
Overview
このモジュールはプライベート API の一部です。 このモジュールは将来削除または変更される可能性があるため、可能な限り使用しないでください。
メモリ内の特定の値が特定のフィールドに関連する MSQL クエリ式と一致するかどうかを評価するために使用される単一のモジュールです。
クラスメソッドの概要を折りたたむ
-
。一致するかどうか(存在、値、条件)=true| false、ブール値
private
値が条件を満たすかどうかを返します。
クラスメソッドの詳細
。一致するかどうか(存在、値、条件)= true| false 、ブール値
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
値が条件を満たすかどうかを返します。
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 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
ファイル 'lib/mongoid/matcher/field_ Expression.rb' は、 21行を MongoDB_function デフォルト 一致するかどうか(exists, 価値, 条件) 場合 条件.is_a?(ハッシュ) 条件.すべて? 行う |k, cond_v| k = k.to_s 場合 k.start_with?('$') 場合 %w($regex $options).include?(k) ただし、 条件.key?('$regex') 発生 Errors::InvalidQuery, " $options に次のように が指定されている場合は $regex が必要です: # { Errors :: InvalidQuery 。runsate_expr ( 条件 ) } } " end 場合 k == '$regex' 場合 = 条件['$options'] cond_v = ケース cond_v 次の場合: Regexp BSON::Regexp::Raw.新着情報(cond_v.ソース, ) 次の場合: BSON::Regexp::Raw BSON::Regexp::Raw.新着情報(cond_v.パターン, ) else BSON::Regexp::Raw.新着情報(cond_v, ) end elsif 文字列 === cond_v cond_v = BSON::Regexp::Raw.新着情報(cond_v) end FieldOperator.得る(k).一致するかどうか(exists, 価値, cond_v) else $option が $regex の一部として一致する true end else FieldOperator.得る(k).一致するかどうか(exists, 価値, cond_v) end elsif ハッシュ === 価値 sub_values = マッチャー.insert_attribute(価値, k) 場合 sub_values.Length > 0 sub_values.any? 行う |sub_v| Eq.一致するかどうか(true, sub_v, cond_v) end else Eq.一致するかどうか(false, nil, cond_v) end else false end end else ケース 条件 次の場合: ::Regexp, BSON::Regexp::Raw regex.operations_array_or_scalar はどちらに一致しますか。(価値, 条件) else Eq.一致するかどうか(exists, 価値, 条件) end end end |