← 목록

MongoDB와의 연동을 위한 Node.js 및 Express 설정 가이드 🌐

작성: 2025년 08월 06일읽기: 약 4분

웹 개발을 하다 보면 데이터를 저장하고 관리할 필요가 있습니다. 여기서 MongoDB가 빛을 발합니다! MongoDB는 유연하고 확장 가능한 데이터베이스 시스템으로, 웹 애플리케이션에 매우 적합합니다. 오늘은 Node.js와 Express를 사용하여 MongoDB와 어떻게 연동하는지 알아보겠습니다. 복잡한 용어는 최대한 피하면서 쉽게 설명할게요!

시작하기 전에

Node.js와 MongoDB가 설치되어 있어야 합니다. 또한, Express 프레임워크를 사용할 예정이므로, 이 또한 설치해야 합니다. 모두 준비되었다면, 시작해볼까요?

프로젝트 설정

  1. 먼저, 프로젝트 폴더를 만들고 그 안에서 npm을 초기화합니다.

    mkdir my-mongo-project
    cd my-mongo-project
    npm init -y
    
  2. Express와 MongoDB를 위한 Node.js 드라이버인 mongoose를 설치합니다.

    npm install express mongoose
    

Express 앱 설정

  1. index.js 파일을 생성하고 아래의 코드를 입력하여 Express 앱을 초기화합니다.

    const express = require('express');
    const app = express();
    const port = 3000;
    
    app.get('/', (req, res) => {
      res.send('Hello MongoDB with Node.js and Express!');
    });
    
    app.listen(port, () => {
      console.log(`App listening at http://localhost:${port}`);
    });
    
  2. 이제 앱을 실행하여 서버가 잘 작동하는지 확인해봅시다.

    node index.js
    

MongoDB 연동

  1. MongoDB와 연동하기 위해, 먼저 mongoose를 설정합니다. index.js 파일에 다음 코드를 추가하세요.

    const mongoose = require('mongoose');
    
    mongoose.connect('mongodb://localhost/my_database', {
      useNewUrlParser: true,
      useUnifiedTopology: true
    });
    
    const db = mongoose.connection;
    db.on('error', console.error.bind(console, 'connection error:'));
    db.once('open', function() {
      console.log("We're connected to the database!");
    });
    

    이 코드는 MongoDB에 연결을 시도하고, 연결 상태에 따라 콘솔에 메시지를 출력합니다.

  2. 이제, 간단한 데이터 스키마와 모델을 만들어 봅시다. index.js에 다음 코드를 추가하세요.

    const Schema = mongoose.Schema;
    
    const blogSchema = new Schema({
      title: String,
      author: String,
      body: String,
      comments: [{ body: String, date: Date }],
      date: { type: Date, default: Date.now },
      hidden: Boolean,
      meta: {
        votes: Number,
        favs: Number
      }
    });
    
    const Blog = mongoose.model('Blog', blogSchema);
    

    이 코드는 블로그 포스트에 대한 간단한 스키마를 정의합니다. 여기에는 제목, 저자, 본문 등의 필드가 포함되어 있습니다.

데이터 저장하기

  1. MongoDB에 데이터를 저장하기 위해, 새로운 블로그 포스트 인스턴스를 만들고 저장하는 코드를 추가해봅시다.
    const myBlogPost = new Blog({
      title: 'MongoDB와 Node.js 연동하기',
      author: 'Jane Doe',
      body: 'MongoDB와 Node.js를 연동하는 것은 정말 쉽습니다!',
      comments: [{ body: '정말 유용한 글이네요!', date: new Date() }],
      hidden: false
    });
    
    myBlogPost.save(function (err, myBlogPost) {
      if (err) return console.error(err);
      console.log('새로운 블로그 포스트가 성공적으로 저장되었습니다.');
    });
    

이제 기본적인 MongoDB와 Node.js 및 Express의 연동 방법을 알아보았습니다. 이 가이드를 통해 간단한 웹 애플리케이션에 데이터베이스 기능을 추가할 수 있게 되었길 바랍니다. 코드를 조금씩 변형해보면서 여러분만의 프로젝트에 적용해보세요!