Home Express에서 MongoDB Driver와 연결하고 모듈로 분리하기
Post
Cancel

Express에서 MongoDB Driver와 연결하고 모듈로 분리하기

Express와 MongoDB Driver를 어떻게 연결하고, 환경변수와 함께 모듈로 분리해 효율적으로 다룰 수 있을지 알아보겠습니다.

env

아래 코드처럼 환경변수를 다룰 수 있는 모듈 파일을 생성합니다.

1
2
3
4
5
6
7
// load-environment.mjs
import dotenv from "dotenv";

dotenv.config();

export const { MONGODB_URI } = process.env || "";
export const { MONGODB_DB_NAME } = process.env;

위처럼 모듈로 분리해, 깔끔하게 환경변수를 다른 곳에서 가져올 수 있고, 관리하기도 쉬워집니다.

MongoClient

app.js에 DB를 연결하는 코드를 작성하면 난잡해지기 때문에, 따로 모듈로 분리해 관리해줄 수 있습니다.

mongodb.MongoClient를 이용해 MongoDB에 연결할 수 있습니다.

MongoDB 서버는 실행중이어야 합니다.

1
2
3
4
5
6
7
8
// conn.mjs
import { MongoClient } from "mongodb";
import { MONGODB_URI, MONGODB_DB_NAME } from "./load-environment";

const client = new MongoClient(MONGODB_URI);
const db = client.db(MONGODB_DB_NAME);

export default db;

다른 파일에서 사용

이제 아래 코드를 작성해 다른 파일에서 가져올 수 있습니다.

1
import db from "../conn";

Collection 선택

아래 코드처럼 작성해 collection을 선택할 수 있습니다.

1
const boards = db.collection("boards");

참고

Connect to MongoDB

This post is licensed under CC BY 4.0 by the author.