MongoDB에서는 "테이블" 대신 "컬렉션(collection)"이라는 용어를 사용합니다. MongoDB는 NoSQL 데이터베이스로, 관계형 데이터베이스와 다른 개념을 사용합니다. 관계형 데이터베이스에서 테이블을 생성하는 것과 달리, MongoDB에서는 데이터를 저장하기 위해 컬렉션을 사용하며, 이 컬렉션은 유연한 스키마를 가진 문서(document)의 집합입니다.
MongoDB에서는 컬렉션을 명시적으로 생성할 필요가 없습니다. 컬렉션에 데이터를 삽입하려고 할 때 해당 컬렉션이 존재하지 않으면 MongoDB가 자동으로 컬렉션을 생성합니다. 하지만, 특정 옵션을 가진 컬렉션을 생성하고 싶다면, db.createCollection()
명령을 사용할 수 있습니다.
컬렉션 생성 예시
-
MongoDB Shell (mongosh
)에 접속: 먼저 mongosh
를 사용하여 MongoDB에 접속합니다.
-
데이터베이스 선택: 데이터를 저장하려는 데이터베이스를 선택합니다. 예를 들어 testDB
라는 데이터베이스를 사용한다면, 다음 명령어를 입력합니다:
use testDB
-
컬렉션 생성:
-
자동 생성: 데이터 삽입 시 자동으로 컬렉션 생성하기:
db.myCollection.insertOne({name: "test", value: "Example"})
이 명령은 myCollection
이라는 이름의 컬렉션에 문서를 삽입합니다. myCollection
이 존재하지 않으면 MongoDB가 자동으로 생성합니다.
-
명시적 생성: db.createCollection()
을 사용하여 명시적으로 컬렉션 생성하기:
db.createCollection("myCollection")
추가 옵션을 지정하여 컬렉션을 생성할 수도 있습니다. 예를 들어, 크기 제한이 있는 컬렉션을 생성하거나, 캡핑된 컬렉션을 생성할 수 있습니다.
주의 사항
- MongoDB에서는 데이터베이스와 컬렉션을 미리 생성하지 않아도 데이터 삽입 시 자동으로 생성됩니다. 이는 MongoDB가 유연한 스키마를 제공하기 때문입니다.
- 컬렉션에 문서를 삽입, 조회, 수정, 삭제 등의 작업을 수행할 때 MongoDB는 필요에 따라 컬렉션을 자동으로 관리합니다.
이러한 방식으로 MongoDB에서는 데이터 저장 구조를 매우 유연하게 관리할 수 있으며, 개발자가 데이터 저장 구조를 쉽게 조정하고 확장할 수 있게 해줍니다.