Node 주특기 입문 [3일차]
오늘도 역시나 이해가 안간다. mongoDB와 mongoose, thunder client를 사용하는 법에 대해 배웠는데 코드가 이해가 안가는 것은 아니지만 코드를 이 파일에서 짜다 다른 파일로 넘어가고 다른 파일에서 짜다 또 다른 파일로 넘어가고 하다보니 코드가 쌓였고 결국에는 이해하기 힘들어졌다.
아마 DB를 다루는데 전체적인 큰 그림을 못봐서 생기는 문제점이 아닌가 싶다.
솔직히 말하자면 req가 request로 요청하는 것이고 res가 response가 응답하는 것으로 알고 있긴 했다. "client가 request하고 server가 response한다"고 할 때 그 'request'와 'response' 인 것 같다고 생각하며 코드를 보려했지만 맞는 것 같으면서도 아닌 것 같기도 하고 어렵다. response를 한다면 mongoDB에서 vscode로 준다는 건지, mongoDB에서 서버로 준다는 건지 mongoDB에서 브라우저로 준다는 건지 뭐가 뭔지 모르겠다.
일단은 강의에서 하라는 대로 해서 코드를 쳤고 어느 정도의 이해를 했지만서도 전혀 속이 시원하지가 않다. 왜냐하면 내 생각으로 짠 코드도 아닐 뿐더러 mongoose 메서드와 같은 것들도 처음보는데 매우 많이 쓰며 코드를 짰기 때문이다.
현재 mongoDB를 이용한 내 코드는 이해가 없는 코드이기에 오늘 배운 부분도 내일 다시 한번 보려고 한다.
한 번 전체적으로 짜봤기 때문에 내일은 코드를 적은 순서라던가 mongoose메서드라던가 req, res 등등 자세한 부분에 대해서 모두 정리하며 다시 한 번 강의를 들을 계획이다. (제발 어제 그랬던 것처럼 다음날이 되면 바로 이해하길...)
Thunder Client _ Mongoose Error
오늘 처음 mongoDB강의를 들었을 때 코드를 그대로 따라쳤을 뿐인데 내가 넣어놓은 상품이 출력되지 않았다.
강의에 전체적인 코드가 나와있지 않아 강의 화면에서 나오는 부분 부분만을 비교하며 틀린 부분을 찾아야 했는데 도무지 찾지 못해서 삭제한 뒤 새로운 파일에 만들어서 다시 작성했다.
정상적으로 출력되었다면 위와 같은 코드가 출력되었어야 한다.
결국 눈물을 머금고 다시 삭제를 한 뒤에 강의를 처음부터 돌려보며 다시 시작했다. 정말 글자 한 땀 한 땀 안틀리려고 노력했다.
그런데 이게 웬 걸... 위에 올렸던 사진처럼 데이터는 잘 뜨는데 POST로 body 태그에 콜라 정보를 넣어서 생성하면 콜라 정보가 안뜬다. 분명 단 한 글자도 안틀린 것 같은데, 오류가 뜰리가 없었다.
처음에는 버퍼링 시간이 오래 걸린다는 MongooseError가 떴다.
그 뒤에는 이런 오류도 떴다.
분명 코드에는 문제가 없다고 생각했고 방법을 찾아 나섰다.
기존 mongoDB 설치했을때 7.**버전으로 설치를 한 뒤에 설치가 되지 않아서 5.**버전으로 다시 다운 받은 뒤 Mongosh를 다운받아서 생긴 문제인가 싶었다.(정확히는 잘 모르겠다..)
MongoDB Atalas
이 문제에 대한 해결은 MongoDB Atalas를 통해 해결할 수 있었다.
아래의 블로그를 참고하여 MongoDB Atlas의 새 계정을 만들고 mongoose의 connect 주소를 바꿔줬다.
기존의 주소는 localhost를 사용했다.
전체적인 주소를 모두 지운 후 connect string을 가져와 채워줬다.
그 후 '<password>' 부분을 모두 지운 후 Cluster를 생성하며 설정한 password를 넣어주면 connect 주소 변경이 끝나게 된다.
위 블로그의 방법을 따라한다면 Thunder Client를 이용한 (POST) 데이터 생성도 문제없이 잘 작동하는 것을 볼 수 있다.
'TIL' 카테고리의 다른 글
2023_11_06 TIL (0) | 2023.11.07 |
---|---|
2023_11_03 TIL (2) | 2023.11.03 |
2023_11_01 TIL (1) | 2023.11.02 |
2023_10_31 TIL (0) | 2023.11.01 |
2023_10_30 TIL (0) | 2023.10.31 |