coding study

next.js 에서 mongoDB 연결하기

씨드온 2024. 12. 3. 19:52

1. mongoDB에 database 만들기

- networt access 설정 : anywhere

- database access 설정 : 아이디 / 비밀번호 admin으로 설정

- collection에 샘플 데이터 넣기 (database 이름 : forum / collection 이름 : post)

 

2. vscode에 uril 폴더 - database.js 파일 생성 후 코드입력

- url에 mongoDB에서 설정한 아이디와 비밀번호 입력

 

[database.js]

import { MongoClient } from 'mongodb';
const url =
  'mongodb+srv://아이디:비밀번호@cluster0.fning.mongodb.net/?retryWrites=true&w=majority&appName=Cluster0';
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 };

 

3.컬렉션의 모든 document 꺼내보기

- vscode 터미널에 입력한 데이터 뜨면 성공

 

[page.js]

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

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

  return <div>hello</div>;
}