Nodejs - 버전3

이율곡·2023년 3월 2일
0

Node js

목록 보기
20/26
post-thumbnail

MongoDB

이번에는 이전 Sequlize로 만든 쇼핑몰에서 MongoDB를 활용하여 쇼핑몰을 수정했다.

https://github.com/leeyulgok/NodejsPracticeVersion3

이전까지는 MySQL만을 사용했었어서 다른 DB와의 차이점이 궁금했었는데 이번 기회에 배울 수 있어서 매우 기뻤다. 우선 MongoDB는 NoSQL이기 때문에 스키마가 정해져 있지 않았다는 부분이 매우 컸다. 공부할 때와는 다르게 직접해보니까 어떤 부분이 다르고 어떤 차이를 갖고 있는지를 쉽게 배울 수 있었다.

이전 버전과의 차이점

이전 버전과의 가장 큰 차이점은 '스키마'이라고 생각한다. 정형화된 스키마와 그렇지 않은 스키마의 차이는 상당했다. 물론 MongoDB라고 해서 스키마를 정의하지 않는 것은 아니다. 스키마를 정의해야지 효율적이고 일관성 있는 데이터를 갖기 때문이다. 하지만, MySQL보다 동적으로 갖기 때문에 스키마 간의 관계 형성에 있어서 간단하다는 느낌을 받았다.

비슷한 점은 데이터를 다루는 부분은 크게 다르지는 않았다. 데이터베이스를 연결한다던가 CRUD 라던가 하는 부분은 비슷했다. 그래도 이번 버전을 해봄으로써 무엇이 다른지 확실하게 배웠다. RDBMS와 NoSQL의 차이를 확실하게 배운 버전이었다.

기억에 남는 부분

ObjectId를 다루는 것이 가장 기억에 남는다. 자주 사용한만큼 중요하고 MongoDB의 핵심이기 때문이다. 따로 id를 설정하지 않아도 MongoDB에서 문서에 자동으로 _id를 심어주기 때문에 이를 서버에서는 잘 활용해야 되기 때문이다. 단순히 문자열로 받으면 안되고 하나의 객체라는 점을 인지하고 있어야 된다. 이 부분이 핵심이다.

정리하기

이번에는 MongoDB로 쇼핑몰을 구축했다. MySQL에서 Sequlize로 이번에는 MongoDB로 구축하는 과정을 겪고 있는데 내용은 똑같지만 다루는 틀이 다르기 때문에 핵심을 파악하고 있는 것이 중요하다. 그래서 확실하게 짚고 넘어가야 한다. 다음에는 Mongoose 라이브러리로 쇼핑몰을 구축할텐데 이번에는 MongoDB에서 어떤 부분이 바뀌게 되고 이점을 가져다주는지를 중심으로 공부해야겠다.

profile
음악을 좋아하는 사람이 음악을 만들 듯, 개발을 좋아하게 될 사람이 쓰는 개발이야기

0개의 댓글