2023.11.03 TIL - 노드입문3일
오늘은 mongoDB설치 와 mongoose 설치, Studio T3까지 설치해보았다.
우선 Studio T3는 MongoDB를 위해서 만들어진 MongoDB Client이다.
그렇다면 mongoDB와 mongoose는 무슨관계일가? 자바와 자바스크립트처럼 글자는 비슷하지만 개념(?)은 다르다.
Mongodb는 데이터베이스 자체 이고
Mongoose는 Mongodb 의 객체 모델링 도구 입니다.
Node.js의 관점에서 mongodb 는 mongodb 인스턴스와 상호 작용하기위한 기본 드라이버 이며
mongoose 는 MongoDB 의 객체 모델링 도구 입니다.
-> 접근 방식의 차이
----------------------------------------------------------------------------------------
아주 간단하게 비교만해보았고 오늘의 주요TIL은
수업을 따라들으면서 친 코드에서 오류가 난 것을 읽고 과 오류(에러)를 이해하고
해결하는 과정(영어읽기테스트 같은 수준의;;) 을 담아볼려고한다.
1.수업을따라 localhost:3000/api/goods로 GET호출(?)은 잘됐는데
2.JSON형태의 새로운 물건값을 POST할려고하니 에러가났다;;
routes\goods.js 54열에있는 goodsId를 goodsID로 적어서 대소문자 하나차이때문에 읽지를 못한것...
너무 간단한 이런이유를 예전에는 에러메세지가뜨면 영어가 너무많이떠서 읽기시도조차 하기싫었는데..
저 간단한 문장조차도 20분이상 해맸지만 혼자 해결하고나니 앞으로 영어 울렁증으로 피하지않고 맞서야겠다고 느꼈다..
3.저렇게 해결하고나서 강의가 이해가안되서 2번째 다시들으면서 시도해보는데
이번엔 갑자기 됐던 것이 설정해둔 에러메세지로 뜨는 것이 아닌가..
혼자 20분이상씨름하다가 튜더님께 찾아갔더니 에러메세지부터 해석해보라는게 아닌가..
에러메세지를 독해가 안되서..(영어놓은지 어언10년이상 ㅡㅠ) 파파고의 힘을 빌렸다...(파파고도 듣기만해보고 이번에 처음써봤다;;)
요점은 중복된 키의 오류..
무슨말인가 하니
나도 모르고 이해안되면서 따라친 코드에서 저 의미가
unique:true, // goodsId값이 고유해야한다. 라는 의미였다 .. 그래서 처음에 했을때는 POST가 잘됐는데
두번째부터 에러메세지가 중복된키라고 뜬 것..
그렇다면 내가 (처음에)올린 POST값은 어디에있는것인가..?
알고봤더니 이럴때 클라이언트로 받아둔 T3에서 확인할수있었다;; (진짜 수업을 귀로만듣고 머리로 하나도이해가안되니 이런 간단한오류도 이해를 못했던 것이다 ㅠㅠㅠ 아진짜 슬프다~~~~~~~~~~~~~~~~~~~~~~~~)
좌측 상단탭에서 만들어둔 sparta_db localhost:27017 [direct]를 우클릭해서 refresh all (새로고침)해주면 이렇게 내가 POST했던 값이 올라 와있는걸 알수가있었다..
4.해결된뒤 제대로 올라가는 모습
----------------------------------------------------------------------------------------------------------------------------------------------------------------
아 진짜 공부 10년이상 놓고살았더니 뇌가 굳은걸까.......힘들다 ㅠㅠㅠㅠㅠㅠㅠㅠㅠ 열심히해야겠다~~~~~~~~~
강의도 이해안되는데 개인과제는 어떻게시작할수있을가 큰일이다~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~