db.createView()
db.createView()
참고
명확화
이 페이지에서는 표준 보기에 대해 설명합니다. 온디맨드 구체화된 뷰에 대한 설명은 온디맨드 구체화된 보기를 참조하세요.
뷰 유형 간의 차이점을 이해하려면 온디맨드 구체화된 뷰와의 비교를 참조하세요.
지정된 집계 파이프라인을 소스 collection 또는 뷰에 적용한 결과로 뷰를 생성합니다. 뷰는 읽기 전용 collection 역할을 하며 읽기 작업 중에 온디맨드로 계산됩니다. 소스 collection과 동일한 데이터베이스에 뷰를 생성해야 합니다. MongoDB는 집계 파이프라인의 일부로 뷰에 대한 읽기 작업을 실행합니다.
보기 정의
pipeline
에는$out
또는$merge
단계를 포함할 수 없습니다. 이 제한은$lookup
단계 또는$facet
단계에서 사용되는 파이프라인과 같은 임베디드 파이프라인에도 적용됩니다.
구문
db.createView
의 구문은 다음과 같습니다:
db.createView(<view>, <source>, <pipeline>, <collation>)
이 메서드에는 다음과 같은 매개 변수가 있습니다.
Parameter | 유형 | 설명 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
view | 문자열 | 만들려는 뷰의 이름입니다. | ||||||||||
source | 문자열 | 뷰를 생성할 소스 collection 또는 뷰의 이름입니다. 이름에는 데이터베이스 이름이 포함되지 않으며 생성할 뷰와 동일한 데이터베이스를 의미합니다. collection 또는 뷰의 전체 네임스페이스가 아닙니다. 소스 collection과 동일한 데이터베이스에 뷰를 생성해야 합니다. | ||||||||||
pipeline | 배열 | 집계 파이프라인 단계로 구성된 배열입니다. 보기 정의 뷰 정의는 공개입니다. 즉, 뷰에 대한 | ||||||||||
collation | 문서 | 선택 사항입니다. 뷰의 기본 데이터 정렬을 지정합니다. 데이터 정렬을 사용하면 대소문자 및 악센트 표시 규칙과 같은 문자열 비교에 대한 언어별 규칙을 지정할 수 있습니다. 기본 데이터 정렬이 지정되지 않은 경우, 뷰의 기본 데이터 정렬은 'simple' 이진 비교 데이터 정렬기입니다. 기본 데이터 정렬 옵션의 구문은 다음과 같습니다:
데이터 정렬을 지정할 때 |
db.createView()
메서드는 다음 create
명령 작업을 래핑합니다.
db.runCommand( { create: <view>, viewOn: <source>, pipeline: <pipeline>, collation: <collation> } )
중요
컬렉션 목록 출력에 뷰 이름이 포함됨
db.getCollectionInfos()
및 db.getCollectionNames()
같이 컬렉션을 나열하는 연산은 출력에 뷰를 포함합니다.
뷰 정의는 공개입니다. 즉, 뷰에 대한 db.getCollectionInfos()
및 explain
작업에는 뷰를 정의하는 파이프라인이 포함됩니다. 따라서 뷰 정의에 민감한 필드와 값을 직접 참조하지 않는 것이 좋습니다.
예시
뷰를 생성하는 예시를 확인하려면 다음 페이지를 참고하세요.
행동
뷰의 동작 세부 정보를 보려면 동작을 참조하세요.