TIL

MongoDB, Mongoose

김영재0412 2022. 11. 28. 19:27

데이터베이스와 MongoDB의 개념

단순히 데이터를 잘 저장하고 잘 찾기 위해 만들어진 소프트웨어를 Database Management System(DBMS) 이라 부르며 DBMS가 설치된 컴퓨터를 데이터베이스(DB)서버라고 부를 수 있다.

 

 

데이터베이스의 종류

🕸 관계형 데이터베이스 - Relational Database (RDB)

데이터 형식이 정해져 있고, 데이터 끼리 관계를 맺어 모순이 없는 데이터를 유지할 수 있도록 도와주는것에 집중한 데이터베이스를 관계형 데이터베이스라고 부른다. 모순이 없는 데이터: 무결성과 정합성이 높은 데이터

 

ex)MySQL, ORACLE, Maria DB

 

🗽 비관계형 데이터베이스 - Non-relational Database (NoSQL)

관계형 데이터베이스에 속하지 않는 모든 데이터베이스를 비관계형 데이터베이스라고 부릅니다. 비관계형 데이터베이스는 데이터의 형태가 고정되어 있지 않고 유연하게 확장할 수 있지만, 유연한 만큼 저장되는 데이터를 제대로 관리하지 않으면 데이터베이스에 저장된 데이터를 신뢰할 수 없게 되기도 합니다. 최근 많은 스타트업에서 유연한 설계를 위해 많이 채택되는 데이터베이스 유형입니다.

 

ex)Mongodb,AWS DynamoDB, Redis

 

 

 

 

 

Mongoose

 

mongoose의 문서(Document)란?

MongoDB에서 가지고 있는 각 데이터 하나하나를 문서(Document)라고 정의하며 1개 이상의 Key-Value의 쌍으로 이루어져있다.

{
    "_id": ObjectId("6682192a1c155bd2f27881"),
    "name": "lyw",
}

 

mongoose의 컬렉션(Collection)이란?

JSON 형식의 여러가지  문서(Document)를 보유할 수 있으며 관계형 데이터베이스(RDB)의 Table과 동일한 역할을 한다.

 

 

mongoose의 스키마(Schema)란?

스키마는 컬렉션(Collection)에 들어가는 문서(Document)에 어떤 종류의 이 들어가는지를 정의하며 데이터를 모델링할 때 사용한다.

 

 

mongoose의 모델(Model)이란?

  • 데이터베이스에 데이터를 저장해줄때 데이터의 구조를 담당한다
  • 스키마를 사용하여 만들고, MongoDB에서 실제 작업을 처리할 수 있는 함수들을 지니고 있다.
  • 문서(Document)를 생성할 때 사용한다.

'TIL' 카테고리의 다른 글

JavaScript 챕터 8 - 예외 처리 고급  (0) 2022.12.04
Package.json  (0) 2022.12.04
JavaScript의 ES  (0) 2022.11.27
Express.js  (0) 2022.11.26
HTTP / Web Server  (0) 2022.11.26