본문 바로가기
Node.js

MongoDB Router 연결

by 세인트킴 2024. 2. 16.
<db.js>
const { MongoClient } = require('mongodb');

const url = process.env.DB_URL
let connectDB = new MongoClient(url).connect()

module.exports = connectDB;

몽고DB 클라이언트를 부르고, connectDB 변수에 url.connect()를 해서 넣어주고 server.js에서 사용하기 위해 module.exports를 해준다.

<server.js>

// MongoDB 연결
let connectDB = require('./router/db.js')
let db
connectDB.then((client) => {
  db = client.db('forum')
  app.listen(process.env.PORT, () => {
    console.log('http://localhost:8080에서 서버 실행중')
  })
}).catch((err) => {
  console.error(err)
})

MongoDB를 사용할 때 server.js 파일 내부에서만 사용하면 여러 문제가 발생한다. DB의 어느 부분에서 에러가 발생한지 모르고, 수정도 막막하기 때문에 Router로 따로 분리해서 모듈화를 만들어주면 수정하기 용이하다. 

 

exports를 해준 파일을 connectDB 변수로 받고, promise문법인 then()으로 다음 문장을 실행한다. db는 'forum' DB를 가리키며 연결되면 PORT번호를 띄워준다.

<login.js>

let connectDB = require('./db.js')
let db 
connectDB.then((client) => {
  console.log('DB 연결 성공')
  db = client.db('forum')
}).catch((err) => {
  console.error(err)
})

login.js파일에 다시 connectDB변수를 생성해주고, 사용할 때는 db.collection('post').findOne({}) 등을 이용해서 값을 넣어준다.

'Node.js' 카테고리의 다른 글

BSON Error 해결  (0) 2024.03.10
list.js Router - 404 Error  (0) 2024.02.16
라우터 설정  (0) 2024.02.16
server.js  (0) 2024.02.10
Login - MongoDB  (0) 2024.02.09