Facts (사실, 객관)
- 엘리스 SW트랙 1차 프로젝트 진행 중
- API 로직 구현
Feelings (느낌, 주관)
mongoDB 특정 컬렉션의 데이터를 바꾸기 위해선 관계(참조)하고 있는 다른 컬렉션의 필드(?)도 함께 수정해줘야 한다. 일일이 대상을 찾아 바꾸는 게 과연 옳은 방식일지 의구심이 들었다. 다른 방법을 고민하던 차에, 함께 백엔드를 담당하고 있는 동료님이 SQL에선 cascade라는 개념이 있다고 알려주셨다. mongoDB cascade라고 검색하니 mongoose middleware 작성을 통해 cascade와 유사한(?) 작업을 할 수 있음을 알게 되었다. 다만 스키마에서 미들웨어를 정의하는 부분에서 다른 모델을 참조하기 위해 import하는 부분과 미들웨어의 내부 로직을 좀 더 고민해봐야겠다고 느껴서 작업 우선순위에서 미루게 되었다.
오늘 시도했던 작업이 거의 모두 실패했다. cascade부터 express-flash를 적용하는 부분까지 내 맘대로 되지 않았다. 저녁에 알바를 가야해서 어쩔 수 없이 작업을 중단했다. 시도했던 작업이 지체되면서 다른 작업들도 계획대로 진행하지 못했다. 코딩을 하면서 처음으로 우선순위가 꼬인다는 것을 경험했다. 무엇을 먼저 해야 할지, 또 어떻게 구현해야 할지 충분히 정리되지 않은 상태에서 작업을 진행했기 때문에 초래된 결과라고 생각했다. 키보드에서 손을 올리기 전에 생각을 충분히 해봐야겠다.
Findings (배운 점)
- 스키마에 pre()나 post() 메서드를 통해 미들웨어를 적용할 수 있다. 쿼리나 도큐먼트에 특정 메서드가 실행되기 전후로 처리되는 로직을 미들웨어에 포함시킬 수 있다.
- express-flash는 세션과 쿠키를 사용하기 때문에 세션과 쿠키를 불러온 다음에 실행시켜 줘야 한다. 하지만 그렇게 해도 원하는 대로 동작하지 않았다. 아직 이유를 찾지 못했다.
Things to do (해야 할 것들)
- 필요한 API 로직 먼저 구성하기
- express-flash 구현하기
- mongoDB cascade 구현하기
Affirmation(자기 선언)
- 작업을 하기 전에 작은 계획을 세우자
'회고' 카테고리의 다른 글
2021-12-21 TIL (0) | 2021.12.21 |
---|---|
2021-12-20 TIL (0) | 2021.12.21 |
2021-12-17 TIL (0) | 2021.12.18 |
2021-12-16 TIL (0) | 2021.12.17 |
2021-12-15 TIL (0) | 2021.12.15 |