[typescript] 타입스크립트와 MongoDB를 연동하는 방법 소개

이번 포스트에서는 타입스크립트로 MongoDB 데이터베이스를 연동하는 방법에 대해 알아보겠습니다.

  1. MongoDB 설치 및 설정
  2. 타입스크립트 프로젝트 생성
  3. Mongoose 라이브러리 설치
  4. 모델 정의
  5. 데이터베이스 연결
  6. CRUD 작업 수행

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하는 방법에 대해 알게 되었습니다. 계속해서 실제 프로젝트에서 이를 활용해보세요!