MongoDB는 비관계형(NoSQL) 데이터베이스로, 유연하고 확장성이 뛰어난 데이터 관리 방식을 제공합니다. MongoDB에서 데이터를 조회하고, 삽입하며, 수정하고 삭제하는 작업은 쿼리를 통해 이루어지는데요, 이번 포스팅에서는 MongoDB 쿼리 기초에 대해 다루고, 주요 명령어와 그 사용법을 소개하려고 합니다.
MongoDB에서 쿼리란?
쿼리(query)는 데이터베이스에서 원하는 데이터를 조회하거나 조작하는 명령어입니다. SQL 기반의 관계형 데이터베이스에서 사용하는 SELECT, INSERT, UPDATE, DELETE와 같은 명령어와 유사한 작업을 MongoDB에서 할 수 있습니다. 다만, MongoDB는 문서 지향(Document-oriented) 데이터베이스이기 때문에, JSON 형식의 데이터를 처리하게 됩니다.
1. 데이터 조회: find()
명령어
MongoDB에서 데이터를 조회할 때 가장 많이 사용하는 명령어는 find()
입니다. 이 명령어를 사용하여 컬렉션에 저장된 문서를 검색할 수 있습니다. 기본적인 사용 예시는 다음과 같습니다:
db.collection.find({})
이 명령어는 해당 컬렉션의 모든 문서를 조회합니다. 중괄호({}
)는 필터 조건이 없다는 뜻입니다.
특정 조건을 통해 필터링된 결과를 조회하려면 다음과 같이 사용합니다:
db.collection.find({ name: "John" })
이 명령어는 name 필드가 "John"인 모든 문서를 조회합니다.
2. 데이터 삽입: insertOne()
와 insertMany()
MongoDB에서 데이터를 삽입할 때는 insertOne()
또는 insertMany()
명령어를 사용할 수 있습니다.
insertOne()
: 단일 문서 삽입
단일 문서를 삽입하려면 insertOne()
을 사용합니다:
db.collection.insertOne({ name: "Alice", age: 25, city: "Seoul" })
이 명령어는 name, age, city 필드를 가진 하나의 문서를 컬렉션에 삽입합니다.
insertMany()
: 여러 문서 삽입
여러 개의 문서를 한 번에 삽입하려면 insertMany()
를 사용할 수 있습니다:
db.collection.insertMany([
{ name: "Bob", age: 30, city: "Busan" },
{ name: "Charlie", age: 28, city: "Incheon" }
])
이 명령어는 두 개의 문서를 한 번에 삽입합니다.
3. 데이터 수정: updateOne()
와 updateMany()
MongoDB에서 이미 저장된 문서를 수정할 때는 updateOne()
또는 updateMany()
를 사용할 수 있습니다.
updateOne()
: 단일 문서 수정
특정 문서 하나만 수정하려면 updateOne()
을 사용합니다:
db.collection.updateOne(
{ name: "Alice" }, // 수정할 문서의 조건
{ $set: { age: 26 } } // 수정할 내용
)
이 명령어는 name이 "Alice"인 문서의 age 필드를 26으로 업데이트합니다.
updateMany()
: 여러 문서 수정
여러 문서를 한 번에 수정하려면 updateMany()
를 사용할 수 있습니다:
db.collection.updateMany(
{ city: "Seoul" }, // 수정할 문서의 조건
{ $set: { city: "Incheon" } } // 수정할 내용
)
이 명령어는 city 필드가 "Seoul"인 모든 문서의 city 필드를 "Incheon"으로 수정합니다.
4. 데이터 삭제: deleteOne()
와 deleteMany()
데이터를 삭제할 때는 deleteOne()
또는 deleteMany()
명령어를 사용합니다.
deleteOne()
: 단일 문서 삭제
특정 문서 하나를 삭제하려면 deleteOne()
을 사용합니다:
db.collection.deleteOne({ name: "Alice" })
이 명령어는 name이 "Alice"인 문서를 하나 삭제합니다.
deleteMany()
: 여러 문서 삭제
여러 문서를 한 번에 삭제하려면 deleteMany()
를 사용할 수 있습니다:
db.collection.deleteMany({ city: "Incheon" })
이 명령어는 city 필드가 "Incheon"인 모든 문서를 삭제합니다.
5. 데이터 정렬 및 제한: sort()
와 limit()
MongoDB에서 데이터를 정렬하거나 결과 개수를 제한할 수 있는 sort()
와 limit()
기능을 사용할 수 있습니다.
sort()
: 정렬하기
데이터를 오름차순 또는 내림차순으로 정렬하려면 sort()
를 사용합니다:
db.collection.find().sort({ age: 1 })
이 명령어는 age 필드를 기준으로 오름차순(1)으로 정렬합니다. 내림차순(-1)으로 정렬하려면 1
대신 -1
을 사용하세요.
limit()
: 결과 제한
결과의 개수를 제한하려면 limit()
를 사용합니다:
db.collection.find().limit(5)
이 명령어는 조회된 결과 중 상위 5개의 문서만 반환합니다.
마무리
이번 포스팅에서는 MongoDB에서 자주 사용하는 쿼리 명령어들의 기초를 알아보았습니다. 데이터를 조회, 삽입, 수정, 삭제하는 기본적인 방법뿐만 아니라, 데이터를 정렬하고 제한하는 방법까지 다루었습니다. MongoDB의 쿼리 문법은 직관적이고 간단하지만, 강력한 기능을 제공하므로 실무에서도 매우 유용하게 사용될 수 있습니다.
이 포스팅이 MongoDB 쿼리 기초를 이해하는 데 도움이 되었기를 바랍니다.
'IT Tech > MongoDB' 카테고리의 다른 글
MongoDB 인덱싱 기초: 성능 최적화를 위한 인덱스 사용법 (0) | 2024.09.13 |
---|---|
MongoDB 기초 - MongoDB Database,Collection,Document 기본 사용법 (0) | 2020.10.08 |
MongoDB의 기본개념 : MongoDB와 RDB 비교 및 MongoDB 장 단점 (0) | 2020.09.23 |
댓글