[typescript] MongoDB 컬렉션에 대한 CRUD 작업을 타입스크립트에서 수행하는 방법

이 블로그 포스트에서는 타입스크립트를 사용하여 MongoDB 컬렉션에 대한 CRUD(Create, Read, Update, Delete) 작업을 수행하는 방법에 대해 알아보겠습니다.

MongoDB 데이터베이스 연결

먼저, MongoDB 데이터베이스에 연결하는 방법부터 알아보겠습니다. 타입스크립트에서 MongoDB에 연결하기 위해서는 mongoose 라이브러리를 사용할 수 있습니다. 아래는 mongoose를 사용하여 MongoDB에 연결하는 예제입니다.

import mongoose from 'mongoose';

// MongoDB에 연결
mongoose.connect('mongodb://localhost:27017/myapp', {
  useNewUrlParser: true,
  useUnifiedTopology: true,
});

위 예제에서는 mongoose를 사용하여 mongodb://localhost:27017/myapp에 연결하도록 설정하였습니다.

컬렉션 모델 정의

다음으로, 컬렉션의 스키마 및 모델을 타입스크립트로 정의해야 합니다. 아래는 사용자 컬렉션의 모델을 정의하는 예제입니다.

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

// 사용자 스키마 정의
interface IUser extends Document {
  name: string;
  age: number;
}

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

// 사용자 모델 정의
const User = mongoose.model<IUser>('User', UserSchema);

위 예제에서는 사용자 컬렉션의 스키마를 정의하고, 이를 mongoose 모델로 변환하여 User로 정의하였습니다.

CRUD 작업 수행

이제 정의된 모델을 사용하여 MongoDB 컬렉션에 대한 CRUD 작업을 수행할 수 있습니다.

Create (추가)

새로운 사용자를 추가하는 예제입니다.

const newUser = new User({
  name: 'John Doe',
  age: 30,
});

newUser.save((err, user) => {
  if (err) throw err;
  console.log('새로운 사용자가 추가되었습니다:', user);
});

Read (조회)

모든 사용자를 조회하는 예제입니다.

User.find({}, (err, users) => {
  if (err) throw err;
  console.log('모든 사용자:', users);
});

Update (수정)

사용자 정보를 수정하는 예제입니다.

User.updateOne({ name: 'John Doe' }, { age: 32 }, (err, res) => {
  if (err) throw err;
  console.log('사용자 정보가 수정되었습니다:', res);
});

Delete (삭제)

사용자를 삭제하는 예제입니다.

User.deleteOne({ name: 'John Doe' }, (err) => {
  if (err) throw err;
  console.log('사용자가 삭제되었습니다');
});

결론

이러한 방법을 통해 타입스크립트에서 MongoDB 컬렉션에 대한 CRUD 작업을 수행할 수 있습니다. MongoDB와 mongoose를 사용하여 데이터베이스와 모델을 연동하고, 간단하게 CRUD 작업을 수행할 수 있습니다.