Computer >> 컴퓨터 >  >> 프로그래밍 >> MongoDB

MongoDB에서 새 컬렉션 생성하는 방법 완벽 정리

MongoDB에서 새 컬렉션 생성하기

MongoDB에서 새로운 컬렉션(Collection)을 생성하려면 createCollection() 메서드를 사용해야 합니다. 이 메서드는 기본 문법과 옵션을 포함한 확장 문법 두 가지 방식으로 활용할 수 있습니다.

기본 문법

가장 간단하게 새 컬렉션을 만드는 기본 문법은 다음과 같습니다:

db.createCollection("yourNewCollectionName");

옵션을 포함한 문법

컬렉션의 동작 방식을 세부적으로 제어하고 싶다면 두 번째 매개변수로 옵션 객체를 전달할 수 있습니다:

db.createCollection("yourNewCollectionName", options);

options 매개변수에는 다음과 같은 값들을 지정할 수 있습니다:

  • capped: true 또는 false의 불리언(Boolean) 값을 가지며, 크기가 제한된 고정 컬렉션(Capped Collection)을 생성할지 여부를 결정합니다.

  • autoIndexId: true 또는 false의 불리언(Boolean) 값을 가지며, _id 필드에 자동 인덱스를 생성할지 여부를 지정합니다.

  • size: 숫자(Number) 값을 가지며, 컬렉션의 최대 크기를 바이트 단위로 지정합니다.

  • max: 숫자(Number) 값을 가지며, 컬렉션에 저장할 수 있는 최대 문서(Document) 수를 지정합니다.

참고로 위 옵션 중 autoIndexId는 MongoDB 3.2 및 3.4 버전부터 공식적으로 지원 중단(deprecated)되었습니다. 이 글에서는 MongoDB 4.0.5 버전을 기준으로 설명합니다. 시스템에 설치된 현재 MongoDB 버전은 아래와 같이 확인할 수 있습니다:

> db.version();
4.0.5

예제 1: 기본 문법으로 컬렉션 생성

먼저 기본 문법을 사용해 새 컬렉션을 생성해 보겠습니다:

> db.createCollection("userInformation");

실행 결과는 다음과 같습니다:

{ "ok" : 1 }

결과값이 { "ok" : 1 }이면 컬렉션이 정상적으로 생성된 것입니다. 생성된 컬렉션을 확인하려면 show 명령어를 사용합니다:

> show collections;

실행 결과:

userInformation

예제 2: 옵션을 활용한 컬렉션 생성

이번에는 옵션을 포함한 대체 문법으로 새 컬렉션을 생성해 보겠습니다:

> db.createCollection("bookInformation",{capped:true,size:7000000,max:12000});

실행 결과:

{ "ok" : 1 }

대체 문법으로도 성공적으로 새 컬렉션이 생성되었습니다. 이 컬렉션은 최대 약 7MB(7,000,000바이트)의 크기와 최대 12,000개의 문서를 저장할 수 있는 고정(Capped) 컬렉션입니다. 생성된 컬렉션 목록을 확인해 보겠습니다:

> show collections;

앞서 생성한 두 개의 컬렉션이 모두 출력됩니다:

bookInformation
userInformation

마무리

이처럼 MongoDB에서는 createCollection() 메서드 하나로 간단하게 새 컬렉션을 생성할 수 있습니다. 참고로 MongoDB는 문서를 삽입(insert)할 때 해당 컬렉션이 존재하지 않으면 자동으로 생성해 주기 때문, 명시적인 컬렉션 생성 없이 작업을 시작할 수도 있습니다. 다만 고정 컬렉션처럼 특정 옵션이 필요한 경우에는 반드시 createCollection() 메서드를 사용해야 한다는 점을 기억하세요.