SQL에 시퀄라이즈가 있다면, Mongo에는 Mongoose 가 있다.
시퀄라이즈가 ORM이라면, Mongoose 는 다큐먼트 기반의 ODM 이다.
몽고DB에는 테이블이 없어서 자유롭게 데이터를 넣을 수 있지만, 때때로 이러한 유연함이 불편함을 초래한다. mongoose 는 스키마를 지원하기 때문에 mongoDB에 데이터를 넣기 전 node server에서 데이터를 한 번 필터링하는 역할을 해준다.
mongoose 폴더를 만들고 npm init 을 하고, mongoose 와 nodemon 패키지를 설치한다.
$ npm i express morgan nunjucks mongoose dotenv
$ npm i -D nodemon
MongoDB는 주소를 사용하여 연결한다.
mongodb://[username:password]@host[:port][/[database][?options]] 와 같다.
username과 password 에 mongoDB 계정과 비밀번호를 넣어야 하는데 git 과 같은 곳에 저장할 때는 타인에게 노출되니 dotenv 와 .gitignore 를 활용한다.
.env 파일을 만들고 mongoDB 주소를 입력한다. mongodb = mongodb://[username:password]@host[:port][/[database][?options]]
이제 node server 코드에서는 process.env.mongodb 를 사용하면 위의 주소가 대입되게 된다.
위 주소는 mongoDB 사이트에 로그인 한 뒤, 클러스터에서 connect 를 누르면 자동으로 생성이 된다.

// .env
mongodb = mongodb+srv://justinpark:<password>@cluster0.dsjvxw9.mongodb.net/test
.env
node_modules