노마드 코더/유튜브 클론

[JavaScript, Node.js] 유튜브 클론 정리 6장 (2) - MongoDB, Mongoose

LooanCheong 2023. 4. 12. 06:12
반응형

머리글

이번 시간에는 MongoDB에 대해서 알아보고 연결까지 해보도록 하자.

MongoDB?

https://www.mongodb.com/

 

MongoDB: The Developer Data Platform

Get your ideas to market faster with a developer data platform built on the leading modern database. MongoDB makes working with data easy.

www.mongodb.com

MongoDB는 다목적의 document 기반의 분산 데이터베이스다.

일반적으로 많은 데이터베이스는 sql 기반이다.
즉, 엑셀과 비슷한 형태의 행 기반 데이터베이스다.

하지만 MongoDB는 문서 기반의 데이터베이스다.
MongoDB에 저장하는 모든 것들은 json-like-document 형태로 저장된다.
package.json을 작성했던 것과 유사한 방식으로 저장을 한다는 얘기다.

게다가 MongoDB는 문서 내부를 검색할 수 있게 해준다.
문서를 만들고 찾고, 수정하고 삭제가 가능하다.

우선 설치를 해주자.
https://www.mongodb.com/try/download/community

 

Try MongoDB Community Edition

Try MongoDB Community Edition on premise non-relational database including the Community Server and Community Kubernetes Operator for your next big project!

www.mongodb.com

커뮤니티 버전이 무료 버전이므로 설치해서 이용하면 된다.

Mongoose?

https://mongoosejs.com/

 

Mongoose ODM v7.0.3

Let's face it, writing MongoDB validation, casting and business logic boilerplate is a drag. That's why we wrote Mongoose. const mongoose = require('mongoose'); mongoose.connect('mongodb://127.0.0.1:27017/test'); const Cat = mongoose.model('Cat', { name:

mongoosejs.com

Mongoose는 node.js와 mongoDB를 연결해 준다.

설치해 보자.

npm i mongoose

그리고 터미널에서 mongoDB가 잘 설치되었는지 알아보자.

mongod

'mongod command not found'와 같은 메세지가 아니라면 정상적으로 설치 되었으므로 계속 진행하고,
이런 메세지가 떴다면 재설치해보자.

설치가 정상적으로 완료되었다면 다음 단계를 진행하자.

mongo

명령어를 입력하면 mongoDB와 연결이 되어 mongoDB shell 안으로 가게 된다.

우선 테스트를 마쳤으니 src 파일 안에 db.js 파일을 만들어주자.
이 파일을 통해 mongoDB와 연결할 예정이다.

import mongoose from "mongoose";

mongoose.connect("mongodb://127.0.0.1:27017/폴더이름");

원하는 폴더 이름으로 connect 하면 자동으로 연결이 된다.
그리고 db 파일을 서버에서 import 해줘야 한다.

import "./db";

서버에 DB가 연결되었다.

마무리

이번 시간에는 MongoDB를 통해 서버에 데이터베이스를 연결해 주었다.
이 과정에서 Mongoose도 사용해 보았다.

다음 시간에는 CRUD가 무엇인지 알아보자.

반응형