코딩독학 2주차

kangbackho·2022년 6월 26일

개인적인 일로 일주일 정도 학습을 쉬었다.
다시 이어서 node.js 강의를 듣는중

가장 기본적인걸로 기능을 구현한 후에
좀 더 편한기능의 패키지를 설치해서
계속 Refactoring을 진행한다.

기능별로 파일을 만들고 함수를 옮기고
그 함수를 또 지우기도 하고 다시 만들기도 한다.

그래서 강의를 한참 더 들었음에도
CRUD기능에서 딱히 더 추가된 기능이없다


mongodb와 mongoose를 설치했다.
몽고디비 클라우드? 사용설정하는 것이 생각보다 복잡했고, 강의속의 UI와 차이가 조금 있어서 살짝 헤맸다

mongodb는 데이터베이스이다. 유저가 데이터를 저장하면 데이터를 가지고 있다가 호출할 때 해당 데이터를 가지고 올 수 있다.
기존에는 가지고 있던(강의에서제공해준) json파일로 CRUD를 구현했으니 지금이 좀 더 서버를 이용한? 코드가 되었다.

mongoose는 스키마라는 것을 만들어주는건데, 처음에는 잘 이해가 되지 않았는데 단순하게 생각했을 때, 도표의 틀?을 만들어 주는거라고 생각하니 편했다.

node는 nonSQL로 SQL이 아닌 json방식으로 데이터를 관리하는데
SQL은 쉽게 엑셀표를 생각하면 된다. 행과 열이 따로 있고 각각의 셀에 데이터가 입력되면 2행 3열에는 무엇이 있는지 4행 2열에는 무엇이 있는지를 직관적으로 찾을 수 있다.

nonSQL은 객체의 모습?으로, 우리가 node를 배우면서 계속 보게되는 그러한 모양이다.

{
    "id": 0,
    "name": "The Forest Hiker",
    "duration": 5,
    "difficulty": "easy",
    "ratingsAverage": 4.7,
    "price": 397
 }

이런식으로 키와 값을 가지게 되고(중복된 키는 가질 수 없다) 저상태로 데이터를 관리 할 수가 있는데, 저러한 틀을 만들고 값에대한 규칙을 부여하는 것이 바로 스키마인듯하다.
name과 price가 필수 적인 값이라고 하면 스키마에서 require: true를 해주면된다.

mongoose는 스키마를 만들어 줄 뿐만아니라 데이터를 제어?하는데 몽구스 메소드로 CRUD기능을 만들기가 엄청 간편하다. 게다가 정렬(sort)과 페이지(pagination)를 나누는 기능들도 구현이 가능하다.

profile
강백호입니다.

0개의 댓글