모듈: Mongoid::Matcher::ElemMatch Private
- 다음에 정의됨:
- lib/mongoid/matcher/elem_match.rb
개요
이 모듈은 비공개 API의 일부입니다. 이 모듈은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
$elemMatch 표현식 에 대한 인메모리 매처입니다.
클래스 메서드 요약 접기
-
.일치합니까?(존재, 값, 조건) ⇒ true | false, 부울
비공개
값이 $elemMatch 표현식 을 충족하는지 여부를 반환합니다.
클래스 메서드 세부 정보
.일치합니까?(존재, 값, 조건) ⇒ 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 |
# 파일 'lib/mongoid/matcher/elem_match.rb', 줄 21 module_function def 일치합니까?(이 존재합니다, value, 조건) 하지 않는 한 해시 === 조건 올리다 오류::InvalidQuery, "$elemMatch 에는 해시 피연산자가 필요합니다: #{Errors::InvalidQuery.truncate_expr(condition)}" end 만약 배열 === value && !value.비어 있나요? value.어떤? do |v| ElemMatchExpression.일치합니까?(v, 조건) end other # 시도하지 않더라도 조건이 유효한지 확인합니다. # 일치시킵니다. 조건.각 do |k, v| k = k.to_s 만약 k.start_with?('$') 시작 ExpressionOperator.get(k) 구출 몽고이드::오류::InvalidExpressionOperator 시작 FieldOperator.get(k) 구출 몽고이드::오류::InvalidFieldOperator => exc 올리다 몽고이드::오류::InvalidElemMatchOperator.신규(exc.연산자) end end end end 거짓 end end |