클래스: Mongoid::Attributes::Projector Private
- 상속:
-
객체
- 객체
- Mongoid::Attributes::Projector
- 다음에 정의됨:
- lib/mongoid/attributes/projector.rb
개요
이 클래스는 비공개 API의 일부입니다. 이 클래스는 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
이 모듈은 프로젝션 헬퍼를 정의합니다.
프로젝션 규칙은 다소 중요하지 않습니다. www.mongodb.com/ko-kr/docs/manual/reference/method/db를 참조하세요. 컬렉션.find/#find-projection 서버 문서의 경우. 4.4 서버 (아마도 모든 이전 서버)에서는 콘텐츠 필드에 대한 프로젝션 이 제외 또는 포함이어야 합니다. 즉, 동일한 쿼리 에서 제외와 포함을 혼합할 수 없습니다. 그러나 콘텐츠 필드를 포함하는 프로젝션 에서는 _id 를 제외할 수 있습니다. 0 및 1 이외의 정수 프로젝션 값은 이 문서를 작성하는 현재 공식적으로 문서화되어 있지 않습니다. DOCSP-15266 를 참조하세요. 4.4 서버 는 점 표기법 외에도 중첩 해시 프로젝션 사양을 허용하는데, 이는 Mongoid가 아직 처리하다 하지 않는다고 가정합니다.
인스턴스 속성 요약 접기
- #Content_projection ⇒ 객체 읽기 전용 비공개
- #id_projection_value ⇒ 객체 읽기 전용 비공개
인스턴스 메서드 요약 접기
-
#attribute_or_path_allowed?(name) ⇒ true | false
비공개
지정된 속성 또는 점 표기법 경로가 구성된 프로젝션(있는 경우)에서 허용되는지 확인합니다.
-
#initialize(프로젝션) ⇒ Projector
생성자
비공개
프로젝터의 새 인스턴스 입니다.
생성자 세부 정보
#initialize(프로젝션) ⇒ Projector
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
프로젝터의 새 인스턴스를 반환합니다.
24 25 26 27 28 29 30 31 32 33 |
# 파일 'lib/mongoid/attributes/projector.rb', 줄 24 def 초기화(프로젝션) 만약 프로젝션 @content_projection = 프로젝션.dup @content_projection.삭제('_id') @id_projection_value = 프로젝션['_id'] other @content_projection = nil @id_projection_value = nil end end |
인스턴스 속성 세부 정보
#Content_projection ⇒ 객체 (읽기 전용)
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
36 37 38 |
# 파일 'lib/mongoid/attributes/projector.rb', 줄 36 def Content_projection @content_projection end |
#id_projection_value ⇒ 객체 (읽기 전용)
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
35 36 37 |
# 파일 'lib/mongoid/attributes/projector.rb', 줄 35 def id_projection_value @id_projection_value end |
인스턴스 메서드 세부 정보
#attribute_or_path_allowed?(name) ⇒ true | false
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
지정된 속성 또는 점 표기법 경로가 구성된 프로젝션(있는 경우)에서 허용되는지 확인합니다.
구성된 프로젝션 이 없으면 true를 반환합니다.
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 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
# 파일 'lib/mongoid/attributes/projector.rb', 줄 48 def attribute_or_path_allowed?(이름) # _id 에 대한 특수 처리. 만약 이름 == '_id' 결과 = 하지 않는 한 id_projection_value.nil? value_inclusionary?(id_projection_value) other true end 반환 결과 end 만약 Content_projection.nil? # 프로젝션 이 없습니다 ( 빈 프로젝션 과 반대). # 모든 속성이 허용됩니다. 반환 true end # 요청된 이름/경로와 일치하거나 상위 항목인 항목을 찾습니다. # 이는 예를 예시 프로젝션 이 다음과 같은 경우를 처리합니다. # {foo: true}이고 foo.bar가 허용되는지 알고 싶습니다. item, value = Content_projection.감지 do |경로, value| (이름 + '.').start_with?(경로 + '.') end 만약 item 반환 value_inclusionary?(value) end 만약 Content_inclusionary? # 요청된 이름/경로의 엄격한 하위 항목을 찾습니다. # 이는 예를 예시 프로젝션 이 다음과 같은 경우를 처리합니다. # {"foo.bar" => true}이고 foo가 허용되는지 알고 싶습니다. # (바의 컨테이너 와 같습니다.) item, value = Content_projection.감지 do |경로, value| (경로 + '.').start_with?(이름 + '.') end 만약 item 반환 true end end !Content_inclusionary? end |