MongoDB & Next.js | Setting Code

김병화·2023년 5월 2일
0

반복되는 connet를 피하기 위해

  1. 따로 파일 만들어두고
// @/util/database.js

import { MongoClient } from 'mongodb';
const url = 'myURL';
const options = { useNewUrlParser: true };
let connectDB;

if (process.env.NODE_ENV === 'development') {
    if (!global._mongo) {
        global._mongo = new MongoClient(url, options).connect();
    }
    connectDB = global._mongo;
} else {
    connectDB = new MongoClient(url, options).connect();
}
export { connectDB };

  1. DB 입출력이 필요한 곳에서 connectDB 함수를 꺼내다 쓴다.
// page.js

import { connectDB } from '@/util/database';

export default async function Home() {
    const client = await connectDB;
    const db = client.db('myDB');
    let result = await db.collection('post').find().toArray();

    return <div>Hello</div>;
}

이 때, Server Component에서 import 하자.
Client Componet에서 db connect 하는 것은 위험하다.

0개의 댓글

관련 채용 정보