어디까지나 내 기준이기는 하지만
이전에 했었던 MySQL - Node.js 연동 보다는 훨씬 더 어려웠다.
나는 학원에서든, 회사에서든 RDBMS만 배우고 다뤄왔기 때문에
NoSQL인 MongoDB는 이번이 처음이었고, 당연히 Mongoose도 이번이 처음이었다.
모르는 내용이 많아서 구글링을 많이 해야 했는데
구버전으로 작성된 내용들이 많아서 적잖이 헤맸다.
마음 같아서는 작업을 하면서 마주쳤던 모든 어려움들과 해결 과정들을
전부 기록으로 남기고 싶었지만, 그러기에는 시행착오가 너무 많았다.
그리고 기록하면서 작업을 진행하자니 집중이 분산되어 개발에 힘을 쏟을 수 없었다.
그래서 그냥 "DB와 Server를 어떻게 연동시켰냐"만 기록으로 남겼다.
솔직히 귀찮았다.
들어가기 전에
버전 정보
(1) MongoDB
"version": "7.0.5",
(2) Node.js
v20.11.0
(3) Vue3
@vue/cli 5.0.8
시작!
우선 데이터부터 만듦 (* MongoDB Compass)
app.js에서 Connection 코드 작성
- Express서버가 실행되면 MongoDB와 연결됨
- 예정 : 쿼리 실행시에만 DB에 접속하도록 코드 수정하기
모델 생성
- mongoose.model(ModelName, Schema, CollectionName)
- 왜 인지는 모르겠지만 쿼리문을 실행시킬 때마다 CollectionName이 'portfolios'로 들어가서, 이것 때문에 꽤나 애를 먹었다. 원인은 못찾았지만 해결은 했다 ; model()함수에 arguments로 CollectionName 추가
데이터 전송
- " const e = Portfolio.find({}) " 와 " console.log() "는 없어도 된다. 쿼리 실행 결과 보려고 추가해놓은 코드다 (정상작동 확인 후 지웠다.)
결론
MongoDB (DB) => Node.js (Back) => Vue3 (Front) 로 데이터 가져오기 성공
참고 자료/문헌)
덕분에 어찌저찌 잘 했습니다.
이 은혜는 잊을 때까지 기억할게요
(1) mongodb - node.js 연동 전반
https://gnaseel.tistory.com/30
https://gr-st-dev.tistory.com/1171
https://velog.io/@hsw1606/MongoDB-ODM-%EC%9D%B8-Mongoose-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0
https://velog.io/@moongq/mongoose.find
(2) DB 설정
(3) 에러 해결
(4) collection-name 설정
https://forum.freecodecamp.org/t/mongodb-collection-name/460737/4
(5) doc
https://mongoosejs.com/docs/connections.html
'개발 > 사이드 프로젝트 1. Trading Platform' 카테고리의 다른 글
MongoDB - Node.js 연동 - 삭제 구현 성공 (0) | 2024.04.16 |
---|---|
MongoDB - Node.js 연동 - 삭제 구현 (0) | 2024.04.15 |
MongoDB - Node.js 연동 - 조회, 삭제 구현 (0) | 2024.04.14 |
프로젝트 진척 / 현황 ( ~ 24.04.07) (0) | 2024.04.07 |
프로젝트 설계 (0) | 2024.04.07 |