express서버에 mongodb(mongoose) 연결하기

김호중·2023년 1월 11일
0

MERN

목록 보기
2/2

MongoDB 생성

클라우스 서비스 Atlasfm를 사용한다.

이에 대한 과정은 mongdb 생성 참고 사이트 를 참고했다.

아래 과정을 차근차근 따라갔다.

  1. 관련 모듈 설치

    npm i bcryptjs body-parser concurrently express is-empty jsonwebtoken mongoose passport passport-jwt validator

  2. package.json의 script 부분을 수정한다.

      "scripts": {
          "start": "node server.js",
          "server": "nodemon server.js",
      }, 
  3. 위에서 얻은 MongoDB URI를 파일로 관린한다.

    mkdir config && cd config && touch keys.js

      //key.js
      module.exports = {
        mongoURI: "MongoDB URI"
      };

구현 (연결)

코드를 뜯어보는 것은 차차 해볼 것
앞서 작성한 express + react 정리 코드에 mongodb관련 코드를 덧붙였다

const express = require('express');
const mongoose = require("mongoose");
const bodyParser = require("body-parser");

const path = require('path');
const app = express();
const port = process.env.PORT || 8080; // process.env.port is Heroku's port if you choose to deploy the app there

app.use(
  bodyParser.urlencoded({
    extended: false
  })
);
app.use(bodyParser.json());
// DB Config
const db = require("./config/keys").mongoURI;

mongoose
  .connect(
    db,
    { useNewUrlParser: true }
  )
  .then(() => console.log("MongoDB successfully connected"))
  .catch(err => console.log(err));


app.listen(port, function () {
  console.log(`listening on ${port}`)
}); 

app.use(express.static(path.join(__dirname, 'react-map-app/build')));

app.get('/', function (요청, 응답) {
  응답.sendFile(path.join(__dirname, '/react-map-app/build/index.html'));
});

app.get('*', function (요청, 응답) {
  응답.sendFile(path.join(__dirname, '/react-map-app/build/index.html'));
});

추후의 작업

이러한 연결을 완성하였으니 이제는 실제 로그인 기능을 구현하도록 한다.

profile
개발의 흔적을 남기고 쌓아가기 위한 일기장

0개의 댓글