MongoDB와 Express.js를 사용하는 방법
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
JavaScript 및 Express.js 기초 지식을 가진 개발자
난이도: 중간(기초 지식이 필요하지만 복잡한 개념은 없음)
핵심 요약
- MongoDB와 Express.js를 연결하기 위해
mongodb
드라이버와express
모듈을 사용 - MongoDB URI를 환경 변수에 저장하고
async/await
로 비동기 작업 처리 - CRUD 기능 구현:
insertOne()
과find()
API로 데이터 삽입 및 조회
섹션별 세부 요약
1. 프로젝트 설정
express-mongo-app
폴더 생성 및npm init -y
로 프로젝트 초기화express
와mongodb
모듈 설치:npm install express mongodb
index.js
파일에 기본 서버 구조 작성:app.use(express.json())
,app.listen(3000, ...)
2. MongoDB 연결
MongoClient
클래스를 사용해 MongoDB 클라이언트 생성:
```javascript
const { MongoClient } = require('mongodb');
const uri = 'mongodb://localhost:27017';
const client = new MongoClient(uri);
```
async/await
로 연결 처리:await client.connect()
- 데이터베이스 및 컬렉션 정의:
const db = client.db(dbName); const collection = db.collection('users');
3. API 엔드포인트 구현
- 사용자 삽입 엔드포인트:
```javascript
app.post('/users', async (req, res) => {
const result = await collection.insertOne(req.body);
res.send(result);
});
```
- 사용자 조회 엔드포인트:
```javascript
app.get('/users', async (req, res) => {
const users = await collection.find({}).toArray();
res.send(users);
});
```
- Postman 또는 curl로 테스트:
```bash
curl -X POST -H "Content-Type: application/json" -d '{"name": "Mohamed", "email": "Mohamed@gmail.com"}' http://localhost:3000/users
```
결론
- MongoDB URI는
.env
파일에 저장하고,process.on('SIGINT')
로 연결 종료 처리 - async/await 사용을 통해 비동기 코드의 가독성과 오류 처리를 강화
- Express.js와 MongoDB의 통합을 통해 실시간 데이터 처리가 필요한 웹 애플리케이션 개발 가능