Node.js 주특기 심화 [2일차]
지난 주특기 입문주차, 심화주차에 이어 현재는 입문주차 리뉴얼 강의, 심화주차 강의, 숙련주차 강의를 듣고 있다.
오늘은 지난 입문 주차에서 배웠던 mongoose의 Document에 대해서 다시 강의를 듣게 되었는데, 이해가 되지 않던 부분이 한 번에 이해가 되어 적어보려고 한다.
이전에 mongoDB에 대한 강의를 들었을 때 mongoose의 Document는 어떤 의미인지 대략적인 의미만 파악하고 있었을 뿐, Document의 범위, 분류에 대한 부분이 확실하게 와닿지는 않고 있었다.
하지만 RDBMS 중 하나인 My SQL을 사용해보고 실제로 프로그램을 통해 DB나 Table, Rows, Columns를 보고 나니 위 사진을 이해할 수 있었다.
그래도 mongoDB의 구성요소에 대해 조금 더 자세하게 적어보려고 한다.
mongoose의 Collection
RDBMS 의 Table이라고 생각하면 된다. 여러개의 문서(Document)를 보유할 수 있는 MongoDB의 구성요소이다.
문서는 여러개의 값을 담을 수 있는 RDBMS 의 Row라고 생각하면 좋다.
JSON 형식의 여러가지 문서를 보유할 수 있다.
컬렉션은 RDBMS 와는 다르게 고정된 구성요소가 존재하지 않고 유연하게 구성할 수 있다.
mongoose의 Schema
스키마는 Collection에 들어가는 문서가 어떤 종류의 값을 가질 것인지 정의하기 위해 사용한다.
데이터의 구조와 어떤 제약 사항을 가지는지 정의하기 위해 사용하며, 일반적으로 데이터를 모델링할 때 사용한다.
스키마는 어떤 필드가 있어야 하는지, 필드는 어떤 데이터 타입을 가져야 하는지를 정의한다.
mongoose의 Model
모델은 데이터베이스에 데이터를 저장하고 읽어올 때 사요오디는 데이터의 구조이다.
스키마를 바탕으로 만들어지고, Javascript 객체와 MongoDB간의 상호작용을 하기 위해 사용한다.
MongoDB의 실제 데이터를 다룰 수 있는 메서드를 지니고 있다.
정확하게는 알지 못하지만 sequelize를 사용할 때 migration과 model에 대해 정의해주고 DB와 묶어주는 작업을 했는데 이와 비슷하게 Mongo DB도 작동하는 것 같다는 느낌을 받았다.
migration은 DB에 저장되는 값의 형태를 지정해주고 model은 DB와 연결된 부분을 직접 불러와서 쓰기 편하게 만들어준다고 생각했다. 이와 비슷하게 mongoose의 Schema는 Document에 저장되는 값의 형태를 지정해주고 sequelize의 model과 마찬가지로 mongoose의 모델도 그 데이터를 쓰기 편하게 만들기 위해 지정해준다고 이해했다.
한 줄..
오늘은 유독 공부를 많이 못한 것 같다. 정신차려.
'TIL' 카테고리의 다른 글
2023_12_01 TIl (1) | 2023.12.01 |
---|---|
2023-11-30 TIL (2) | 2023.12.01 |
2023-11-28 TIL (1) | 2023.11.28 |
2023_11_27 TIL (0) | 2023.11.28 |
2023-11-23 TIL (2) | 2023.11.24 |