본문 바로가기

Database/MongoDB

MongoDB #2 (기본 명령어, CRUD)

반응형

 

 

기본 명령어

# 데이터베이스 접속
mongosh

# DB 선택
use testdb

# 데이터 삽입
db.users.insertOne({ name: "Jaehee", age: 30 })

# 전체 조회
db.users.find()

# 특정 조건 조회
db.users.find({ age: { $gt: 25 } })

 

 

CRUD

DBMS 쪽에서는 CRUD를 SIUD(select, insert, update, delete)로, 

MongoDB에선 FIUD(find, insert, update, delete) 로 쓴다.

 

 

1. Create (데이터 생성)

단일 삽입 (insertOne)

db.users.insertOne({
  name: "Jaehee",
  age: 28,
  email: "jaehee@example.com"
})

다중 삽입 (insertMany)

db.users.insertMany([
  { name: "Mina", age: 25, email: "mina@example.com" },
  { name: "Dohyung", age: 30, email: "dohyung@example.com" }
])

 

 

2. Find (데이터 조회)

조회 (아래는 users라는 데이터 콜렉션 전체를 조회)

db.users.find()

조회(find), 정렬(sort: 음수는 역순), 페이징(limit: 몇 번째까지만 조회)

db.users.find().sort({ age: -1 }).limit(2)

특정 필드만 조회

db.users.find({}, { name: 1, email: 1, _id: 0 })

 

(※ skip(n) : n번째부터 ~)

 

 

3. Update (데이터 수정)

단일 문서만 수정

db.users.updateOne(
  { name: "Jaehee" },
  { $set: { age: 29 } }
)

여러 문서 수정

db.users.updateMany(
  { age: { $gte: 30 } },
  { $set: { status: "veteran" } }
)

필드 추가 또는 삭제

// 필드 추가
db.users.updateOne({ name: "Mina" }, { $set: { gender: "female" } })

// 필드 제거
db.users.updateOne({ name: "Mina" }, { $unset: { gender: "" } })

※ replaceOne : 문서 교체

db.users.replaceOne(
  { name: "홍길동" },
  {
    name: "홍길동",
    email: "new@example.com",
    age: 32
  }
)

 

 

4. Delete (데이터 삭제)

단일 문서 삭제

db.users.deleteOne({ name: "Jaehee" })

여러 문서 삭제

db.users.deleteMany({ age: { $lt: 28 } })

컬렉션 전체 삭제

db.users.drop()

 

 

 

 

 

반응형

'Database > MongoDB' 카테고리의 다른 글

MongoDB #5 (집계)  (0) 2025.07.28
MongoDB #4 (인덱싱)  (0) 2025.07.28
MongoDB #3 (쿼리 및 필터링)  (4) 2025.07.28
MongoDB #1 (소개)  (1) 2025.07.28
MongoDB #0 (설치 & 세팅)  (0) 2025.07.28