지영이의 개발 블로그

express,mongoose 본문

Node.js/MERN STACK

express,mongoose

이지영 2022. 6. 7. 16:46

express

웹 및 모바일 애플리케이션을 위한 일련의 강력한 기능을 제공하는 간결하고 유연한 Node.js 웹 어플리케이션 프레임워크

mongodb 라이브러리

  • MongoDB Driver 모듈입니다.
  • 따라서 mongo 콘솔 클라이언트 명령과 동일하게 조작이 가능합니다.

mongoose

  • MongoDB ODM 중 가장 유명한 라이브러리입니다.
  • 데이터베이스 연결, 스키마 정의, 스키마에서 모델로 변환, 모델을 이용해 데이터를 다룸
  • 프로미스와 콜백 사용가능

ODM : Object Document Mapping의 약자입니다. 객체와 문서를 1대 1로 매칭해줍니다. 즉, MongoDB에 있는 데이터를 NodeJS에서 Javscript 객체로 사용할 수 있도록 해줍니다.

결론 : mongodb 라이브러리는 처음에 MongoDB 명령어를 실습해보면서 개념잡기에 적합할거 같고, 실제 개발단계에서는 mongoose를 쓰는게 맞는거 같습니다.

 


<서버를 만들어보자!>

package.json 파일생성

npm init-y

express 설치

npm i express --save

start 명령어로 index.js 파일 실행시킬수 o

1. client 파일에 설치

npm run-script build

2.path 라이브러리 설치

npm i path --save

 

다음으로 static폴더를 지정해해주고 노드몬라이브러리를 설치하여 서버를 실행시켜 보겠습니다

3.nodemon 설치

npm i nodemon --save

어떤파일을 실행할 것인지 서버실행

nodemon index.js

 

https://jssq2468.tistory.com/67 << express에 대해  다루는 표스트

 

+몽구스 라이브러리 설치

npm i mongoose --save

 

 

 

 

<전체코드>

const express = require('express');
const path = require("path");
const mongoose = require("mongoose")
const app = express()
const port = 5000

app.use(express.static(path.join(__dirname,"../client/build")));

app.listen(port, () => {
  mongoose.connect("mongodb+srv://leejiyoung:ofz9d2zr@boilerplate.xcwv7.mongodb.net/?retryWrites=true&w=majority"
  ).then(()=>{
    console.log(`Example app listening at http://localhost:${port}`)
  })
    .catch((err)=>{
      console.log(`${err}`)
    })
  })

app.get('/', (요청, 응답) => {
  응답.sendFile(path.join(__dirname,"../client/build/index.html"));
})

app.get('*', (요청, 응답) => {
  응답.sendFile(path.join(__dirname,"../client/build/index.html"));
})
Comments