[typescript] 타입스크립트와 MongoDB를 연동하는 방법 소개
이번 포스트에서는 타입스크립트로 MongoDB 데이터베이스를 연동하는 방법에 대해 알아보겠습니다.
MongoDB 설치 및 설정
먼저 MongoDB 공식 사이트에서 MongoDB를 다운로드하여 설치합니다. 설치가 완료되면 몽고DB 서버를 실행합니다.
타입스크립트 프로젝트 생성
터미널을 열고 새로운 타입스크립트 프로젝트를 생성합니다.
mkdir my-ts-project
cd my-ts-project
npm init -y
npm install typescript
npx tsc --init
Mongoose 라이브러리 설치
Mongoose는 MongoDB와 상호작용하기 위한 ODM(Object-Document Mapping) 라이브러리입니다.
npm install mongoose
모델 정의
타입스크립트로 작성된 모델을 사용하여 MongoDB의 데이터 구조를 정의합니다.
// user.model.ts
import mongoose, { Schema, Document } from 'mongoose';
export interface IUser extends Document {
name: string;
email: string;
}
const userSchema: Schema = new Schema({
name: { type: String, required: true },
email: { type: String, required: true }
});
const UserModel = mongoose.model<IUser>('User', userSchema);
export default UserModel;
데이터베이스 연결
데이터베이스 연결 정보를 설정하고, Mongoose를 사용하여 MongoDB에 연결합니다.
// db.ts
import mongoose from 'mongoose';
const connectDB = async () => {
try {
await mongoose.connect('mongodb://localhost:27017/my-db', {
useNewUrlParser: true,
useUnifiedTopology: true
});
console.log('MongoDB connected');
} catch (error) {
console.error('MongoDB connection error: ', error);
process.exit(1);
}
};
export default connectDB;
CRUD 작업 수행
이제 연결된 데이터베이스를 사용하여 CRUD(Create, Read, Update, Delete) 작업을 수행할 수 있습니다.
// index.ts
import connectDB from './db';
import UserModel from './user.model';
connectDB();
const createUser = async () => {
const user = new UserModel({
name: 'John Doe',
email: 'johndoe@example.com'
});
await user.save();
console.log('User created');
};
createUser();
이제 타입스크립트 프로젝트에서 MongoDB와의 연동 설정이 완료되었습니다.
이제 당신은 타입스크립트로 MongoDB와 연결하고 모델을 정의하며 데이터를 CRUD하는 방법에 대해 알게 되었습니다. 계속해서 실제 프로젝트에서 이를 활용해보세요!