Docs Menu
Docs Home
/
MongoDB 매뉴얼
/ / /

db.createView()

이 페이지의 내용

  • 호환성
  • 구문
  • 예시
  • 행동
db.createView()

참고

명확화

이 페이지에서는 표준 보기에 대해 설명합니다. 온디맨드 구체화된 뷰에 대한 설명은 온디맨드 구체화된 보기를 참조하세요.

뷰 유형 간의 차이점을 이해하려면 온디맨드 구체화된 뷰와의 비교를 참조하세요.

지정된 집계 파이프라인을 소스 collection 또는 뷰에 적용한 결과로 를 생성합니다. 뷰는 읽기 전용 collection 역할을 하며 읽기 작업 중에 온디맨드로 계산됩니다. 소스 collection과 동일한 데이터베이스에 뷰를 생성해야 합니다. MongoDB는 집계 파이프라인의 일부로 뷰에 대한 읽기 작업을 실행합니다.

보기 정의 pipeline에는 $out 또는 $merge 단계를 포함할 수 없습니다. 이 제한은 $lookup 단계 또는 $facet 단계에서 사용되는 파이프라인과 같은 임베디드 파이프라인에도 적용됩니다.

이 메서드는 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.

  • MongoDB Atlas: 클라우드에서의 MongoDB 배포를 위한 완전 관리형 서비스

참고

이 명령은 모든 MongoDB Atlas 클러스터에서 지원됩니다. 모든 명령에 대한 Atlas 지원에 관해 자세히 알아보려면 지원되지 않는 명령을 참조하십시오.

db.createView 의 구문은 다음과 같습니다:

db.createView(<view>, <source>, <pipeline>, <collation>)

이 메서드에는 다음과 같은 매개 변수가 있습니다.

Parameter
유형
설명

view

문자열

만들려는 뷰의 이름입니다.

source

문자열

뷰를 생성할 소스 collection 또는 뷰의 이름입니다. 이름에는 데이터베이스 이름이 포함되지 않으며 생성할 뷰와 동일한 데이터베이스를 의미합니다. collection 또는 뷰의 전체 네임스페이스가 아닙니다. 소스 collection과 동일한 데이터베이스에 뷰를 생성해야 합니다.

pipeline

배열

집계 파이프라인 단계로 구성된 배열 입니다. 는 지정된db.createView()pipeline 컬렉션 source 또는 뷰에 적용하여 뷰를 만듭니다.

보기 정의 pipeline에는 $out 또는 $merge 단계를 포함할 수 없습니다. 이 제한은 $lookup 단계 또는 $facet 단계에서 사용되는 파이프라인과 같은 임베디드 파이프라인에도 적용됩니다.

뷰 정의는 공개입니다. 즉, 뷰에 대한 db.getCollectionInfos()explain 작업에는 뷰를 정의하는 파이프라인이 포함됩니다. 따라서 뷰 정의에 민감한 필드와 값을 직접 참조하지 않는 것이 좋습니다.

collation

문서

선택 사항입니다. 뷰의 기본 데이터 정렬을 지정합니다.

데이터 정렬을 사용하면 대소문자 및 악센트 표시 규칙과 같은 문자열 비교에 대한 언어별 규칙을 지정할 수 있습니다.

기본 source가 컬렉션인 경우 뷰는 컬렉션의 데이터 정렬 설정을 상속하지 않습니다.

데이터 정렬이 지정되지 않은 경우, 뷰의 기본 데이터 정렬은 'simple' 이진 비교 데이터 정렬기입니다.

기본 source가 다른 뷰인 경우 뷰에서 동일한 데이터 정렬 설정을 지정해야 합니다.

데이터 정렬 옵션의 구문은 다음과 같습니다:

collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
}

데이터 정렬을 지정할 때 locale 필드는 필수이고, 다른 데이터 정렬 필드는 모두 선택 사항입니다. 필드에 대한 설명은 데이터 정렬 문서를 참조하세요.

db.createView() 메서드는 다음 create 명령 작업을 래핑합니다.

db.runCommand( { create: <view>, viewOn: <source>, pipeline: <pipeline>, collation: <collation> } )

중요

컬렉션 목록 출력에 뷰 이름이 포함됨

db.getCollectionInfos()db.getCollectionNames() 같이 컬렉션을 나열하는 연산은 출력에 뷰를 포함합니다.

뷰 정의는 공개입니다. 즉, 뷰에 대한 db.getCollectionInfos()explain 작업에는 뷰를 정의하는 파이프라인이 포함됩니다. 따라서 뷰 정의에 민감한 필드와 값을 직접 참조하지 않는 것이 좋습니다.

뷰를 생성하는 예시를 확인하려면 다음 페이지를 참고하세요.

뷰의 동작 세부 정보를 보려면 동작을 참조하세요.

돌아가기

db.createCollection

이 페이지의 내용