[typescript] Mongoose를 사용한 타입스크립트와 MongoDB 연결 설정

이 기술 블로그에서는 타입스크립트와 MongoDB를 연결하고 데이터베이스 모델링을 위해 Mongoose를 사용하는 방법에 대해 알아보겠습니다.

목차

  1. Mongoose란 무엇인가?
  2. 타입스크립트와 MongoDB 연결
  3. Mongoose 모델 정의

Mongoose란 무엇인가?

Mongoose는 MongoDB와 상호작용하기 위한 Node.js의 ODM(Object-Document Mapping) 라이브러리입니다. 이를 통해 타입스크립트로 MongoDB에 접근할 수 있습니다.

타입스크립트와 MongoDB 연결

먼저, 프로젝트에 필요한 의존성 패키지를 설치합니다.

npm install mongoose @types/mongoose

다음으로, MongoDB와 연결하고 타입스크립트로 이를 사용할 수 있도록 설정합니다.

import mongoose, { ConnectionOptions } from "mongoose";

const connectDB = async () => {
  try {
    const options: ConnectionOptions = {
      useNewUrlParser: true,
      useUnifiedTopology: true,
    };
    await mongoose.connect("mongodb://localhost:27017/myapp", options);
    console.log("MongoDB is connected");
  } catch (error) {
    console.error("Failed to connect to MongoDB", error);
  }
};

export default connectDB;

위 코드는 MongoDB에 연결하는 함수를 정의한 것입니다. ConnectionOptions를 사용하여 연결 옵션을 지정하고, mongoose.connect를 통해 실제로 MongoDB와 연결합니다.

Mongoose 모델 정의

이제, Mongoose를 사용하여 데이터 모델을 정의해보겠습니다. 예를 들어, 사용자 모델을 정의하는 방법은 다음과 같습니다.

import mongoose, { Schema, Document } from "mongoose";

interface User extends Document {
  name: string;
  email: string;
  age: number;
}

const UserSchema = new Schema({
  name: { type: String, required: true },
  email: { type: String, required: true },
  age: { type: Number, required: true },
});

const UserModel = mongoose.model<User>("User", UserSchema);

export default UserModel;

위 코드에서는 User라는 인터페이스를 정의하고, UserSchema라는 Mongoose 스키마를 만들어 User 모델을 정의합니다.

이제, 타입스크립트와 MongoDB를 사용하여 데이터베이스를 모델링할 수 있는 준비가 되었습니다.

참고 자료

이상으로, Mongoose를 사용한 타입스크립트와 MongoDB 연결 설정에 대해 알아보았습니다.