MongoDB는 document 기반의 NoSQL 데이터베이스입니다. 따라서 데이터 구조를 사전에 강제로 정하지 않아도 되며, 필드명, 구조, 타입이 달라도 에러 없이 저장된다는 특징이 있습니다.
1. 데이터베이스 관련 명령어
명령어 |
설명 |
show dbs |
모든 데이터베이스 목록 보기 |
use DB명 |
해당 데이터베이스로 이동 (없으면 생성됨) |
db |
현재 사용 중인 데이터베이스 이름 확인 |
db.dropDatabase() |
현재 선택된 데이터베이스 삭제 |
2. 컬렉션(테이블) 관련 명령어
명령어 |
설명 |
show collections |
현재 DB의 모든 컬렉션 목록 보기 |
db.createCollection("컬렉션명") |
컬렉션 생성 |
db.컬렉션명.drop() |
컬렉션 삭제 |
3. 데이터 조작(CRUD) 명령어
📌 Create (삽입)
명령어 |
설명 |
db.컬렉션명.insertOne({ 필드 }) |
하나의 문서 삽입 |
db.컬렉션명.insertMany([{...}, {...}]) |
여러 문서 삽입 |
📌 Read (조회)
명령어 |
설명 |
db.컬렉션명.find() |
전체 문서 조회 |
db.컬렉션명.find().pretty() |
보기 좋게 전체 조회 |
db.컬렉션명.find({ 조건 }) |
조건 조회 (ex: { age: 20 }) |
db.컬렉션명.findOne({ 조건 }) |
조건에 맞는 첫 문서 조회 |
📌 Update (수정)
명령어 |
설명 |
db.컬렉션명.updateOne({조건}, { $set: {수정값} }) |
하나만 수정 |
db.컬렉션명.updateMany({조건}, { $set: {수정값} }) |
여러 개 수정 |
db.컬렉션명.replaceOne({조건}, {새문서}) |
문서 통째로 교체 |
📌 Delete (삭제)
명령어 |
설명 |
db.컬렉션명.deleteOne({조건}) |
조건에 맞는 하나 삭제 |
db.컬렉션명.deleteMany({조건}) |
조건에 맞는 여러 개 삭제 |
4. 기타 명령어
명령어 |
설명 |
db.getName() |
현재 DB 이름 확인 |
db.stats() |
현재 DB 상태 확인 |
db.컬렉션명.countDocuments() |
문서 개수 세기 |
db.컬렉션명.find().limit(n) |
상위 n개 조회 |
db.컬렉션명.find().sort({필드: 1 or -1}) |
정렬 (1: 오름차순, -1: 내림차순) |