MongoDB의 데이터베이스 및 컬렉션
개요
MongoDB는 데이터 기록을 문서(특히 BSON 문서)로 저장하며, 이 문서들은 컬렉션에 함께 모여 있습니다. 데이터베이스는 하나 이상의 문서 컬렉션을 저장합니다.
Atlas UI, 또는 MongoDB Compass 에서mongosh
Atlas cluster 의 데이터베이스 및 컬렉션 을 관리 수 있습니다. 이 페이지에서는 Atlas UI 에서 Atlas cluster 의 데이터베이스 및 컬렉션을 관리 하는 방법을 설명합니다. 자체 관리형 배포서버의 경우 mongosh
또는 MongoDB Compass 를 사용하여 데이터베이스 및 컬렉션을 관리 있습니다.
데이터베이스 및 컬렉션을 관리하는 데 사용할 클라이언트를 선택합니다.
MongoDB Atlas 는 선택한 cloud 제공자에서 데이터베이스를 간편하게 배포하고 관리할 수 있는 멀티 클라우드 데이터베이스 서비스입니다.
MongoDB Shell mongosh
은 MongoDB 배포서버와 상호 작용하기 위한 JavaScript 및 Node.js REPL 환경입니다. 학습 내용은 mongosh 를 참조하세요.
MongoDB Compass는 시각적 환경에서 MongoDB 데이터를 쿼리, 애그리게이션 및 분석할 수 있는 강력한 GUI입니다. 자세한 내용은 MongoDB Compass를 참조하세요.
Databases
MongoDB에서 데이터베이스는 하나 이상의 문서 컬렉션을 보유합니다.
사용할 데이터베이스를 선택하려면 mongosh
에서 다음 예와 같이 use <db>
문을 실행합니다.
use myDB
사용할 데이터베이스를 선택하려면 다음 단계를 완료하세요.
MongoDB Compass 를 시작하고 클러스터 에 연결합니다.
자세한 내용은 MongoDB에 연결을 참조하세요.
데이터베이스 생성
데이터베이스가 존재하지 않는 경우, MongoDB는 해당 데이터베이스에 사용할 데이터를 처음 저장할 때 데이터베이스를 생성합니다. 따라서 존재하지 않는 데이터베이스로 전환하여 mongosh
에서 다음 작업을 수행할 수 있습니다.
use myNewDB db.myNewCollection1.insertOne( { x: 1 } )
insertOne()
작업은 데이터베이스 myNewDB
와 컬렉션 myNewCollection1
이 아직 존재하지 않는 경우 둘 다 생성합니다. 데이터베이스와 컬렉션 이름이 모두 MongoDB 이름 지정 제한을 준수하는지 확인하세요.
탭 을 Databases 엽니다.
컬렉션
MongoDB는 문서를 컬렉션에 저장합니다. 컬렉션은 관계형 데이터베이스의 테이블과 유사합니다.
컬렉션 생성
만약 컬렉션이 존재하지 않는다면 MongoDB는 해당 컬렉션의 데이터를 처음 저장할 때 컬렉션을 생성합니다.
db.myNewCollection2.insertOne( { x: 1 } ) db.myNewCollection3.createIndex( { y: 1 } )
insertOne()
및 createIndex()
연산은 모두 컬렉션이 아직 존재하지 않는 경우 해당 컬렉션을 생성합니다. 컬렉션 이름이 MongoDB 이름 지정 제한을 준수하는지 확인하세요.
명시적 생성
새 컬렉션 을 만들려면 Atlas 에 로그인 하여 다음을 수행합니다.
MongoDB는 최대 크기 설정 또는 문서 검증 규칙 설정과 같은 다양한 옵션을 사용하여 컬렉션을 명시적으로 생성할 수 있는 db.createCollection()
메서드를 제공합니다. 이러한 옵션을 지정하지 않은 경우 컬렉션에 데이터를 처음 저장할 때 MongoDB가 새 컬렉션을 생성하므로 컬렉션을 명시적으로 생성할 필요가 없습니다.
이러한 컬렉션 옵션을 수정하려면 collMod
를 참조하세요.
문서 유효성 검사
기본적으로 컬렉션은 문서가 동일한 스키마를 가질 필요가 없습니다. 즉, 단일 컬렉션의 문서가 동일한 필드 집합을 가질 필요는 없으며 필드의 데이터 유형은 컬렉션 내의 문서마다 다를 수 있습니다.
하지만 업데이트 및 삽입 작업 중에 컬렉션에 대한 문서 유효성 검사 규칙을 시행할 수 있습니다. 자세한 내용은 스키마 유효성 검사를 참조하세요.
MongoDB Atlas에서 호스팅되는 배포의 경우,Performance Advisor 및 MongoDB Atlas UI는 일반적인 스키마 설계 문제를 감지하고 MongoDB 권장사항을 따르는 수정을 제안합니다. 자세히 알아보려면 스키마 제안을 참조하세요.
문서 구조 수정
컬렉션에서 문서의 구조를 변경(예: 새 필드 추가, 기존 필드 제거, 필드 값을 새 유형으로 변경)하려면 문서를 새 구조로 업데이트하세요.
Unique Identifiers
컬렉션에는 변경 불가능한 UUID 가 할당됩니다. 컬렉션 UUID는 샤딩된 클러스터의 복제본 세트 및 샤드의 모든 멤버에서 동일하게 유지됩니다.