실전용 MongoDB 기초 사용방법
목차
- cmd(명령 프롬프트)에서 MongoDB를 사용하는 방법입니다.
MongoDB 서버 실행
- mongod 명령어는 MongoDB 서버를 시작합니다. 이 명령어를 실행하면 데이터베이스 서버가 백그라운드에서 실행되며, 클라이언트가 접속할 수 있게 됩니다.
mongod
MongoDB 셸 접속
- mongo 혹은 mongosh 명령어는 MongoDB 셸에 접속하여 서버와 상호작용할 수 있게 합니다.
- MongoDB 버전이 6보다 낮은 경우: 서버가 실행 중인 상태에서 mongo 명령어로 MongoDB 셸에 접속합니다.
mongo
- MongoDB 버전이 6 이상인 경우: 서버가 실행 중인 상태에서 mongosh 명령어로 MongoDB 셸에 접속합니다.
mongosh
데이터베이스 선택 및 생성
- MongoDB는 명시적으로 데이터베이스를 생성할 필요가 없습니다.
- use 명령어는 사용할 데이터베이스를 선택합니다. 만약 해당 데이터베이스가 존재하지 않으면, 이후 컬렉션이나 문서를 삽입할 때 자동으로 생성됩니다.
use myDatabase
컬렉션 생성 및 문서 삽입
- 컬렉션을 생성하고 문서를 삽입하는 예제입니다. 컬렉션은 문서를 삽입할 때 자동으로 생성됩니다.
- insertOne 메서드는 단일 문서를 컬렉션에 삽입합니다.
- insertMany 메서드는 여러 문서를 한 번에 삽입합니다.
db.myCollection.insertOne({ name: "Alice", age: 25, city: "New York" })
db.myCollection.insertMany([
{ name: "Bob", age: 30, city: "San Francisco" },
{ name: "Charlie", age: 35, city: "Chicago" }
])
문서 조회
- 컬렉션에서 문서를 조회하는 예제입니다.
- find 메서드는 컬렉션의 모든 문서를 조회합니다.
- 조건에 맞는 문서만 조회하려면 find 메서드에 조건을 전달합니다.
- findOne 메서드는 조건에 맞는 첫 번째 문서를 조회합니다.
db.myCollection.find()
db.myCollection.find({ age: { $gt: 30 } }) // age가 30보다 큰 문서 조회
db.myCollection.findOne({ name: "Alice" })
문서 수정
- 문서를 수정하는 예제입니다.
- updateOne 메서드는 조건에 맞는 첫 번째 문서를 수정합니다. $set 연산자를 사용하여 특정 필드의 값을 변경할 수 있습니다.
- updateMany 메서드는 조건에 맞는 모든 문서를 수정합니다.
db.myCollection.updateOne({ name: "Alice" }, { $set: { age: 26 } })
db.myCollection.updateMany({ city: "New York" }, { $set: { city: "Boston" } })
문서 삭제
- 문서를 삭제하는 예제입니다.
- deleteOne 메서드는 조건에 맞는 첫 번째 문서를 삭제합니다.
- deleteMany 메서드는 조건에 맞는 모든 문서를 삭제합니다.
db.myCollection.deleteOne({ name: "Alice" })
db.myCollection.deleteMany({ city: "Boston" })
인덱스 생성
- 인덱스를 생성하여 조회 성능을 향상시킬 수 있습니다.
- createIndex 메서드는 특정 필드에 대해 인덱스를 생성하여 조회 성능을 향상시킵니다. 1은 오름차순, -1은 내림차순을 의미합니다.
db.myCollection.createIndex({ name: 1 }) // 오름차순 인덱스
데이터베이스 및 컬렉션 확인
- 현재 데이터베이스 및 컬렉션을 확인하는 명령어입니다.
- show dbs 명령어는 서버에 존재하는 모든 데이터베이스를 나열합니다.
- show collections 명령어는 현재 데이터베이스에 존재하는 모든 컬렉션을 나열합니다.
show dbs // 모든 데이터베이스 나열
show collections // 현재 데이터베이스의 모든 컬렉션 나열
데이터베이스 삭제
- 데이터베이스를 삭제하는 명령어입니다.
- dropDatabase 메서드는 현재 사용 중인 데이터베이스를 삭제합니다.
db.dropDatabase()
컬렉션 삭제
- 컬렉션을 삭제하는 명령어입니다.
- drop 메서드는 특정 컬렉션을 삭제합니다.
db.myCollection.drop()
'개발 > MongoDB' 카테고리의 다른 글
[MongoDB] 윈도우 MongoDB 설치방법 처음부터 끝까지! (0) | 2024.07.29 |
---|---|
[SQL] SQL과 NoSQL 쉽게 이해하기 (0) | 2024.07.27 |