📖 2022년 4월 30일
✔️ 오늘 내가 한 일
- board mvp에 이미지 업로드 기능 연결
- top10 칵테일 조회 API
💡 TIL ( Today I Learned )
1) 몽구스 쿼리
현재 우리 cocktail DB 는 26위 안에 들었는 도큐먼트(칵테일)만 rank collection과 populate 되어 있다.
그래서 10위까지의 칵테일을 반환할 때 쿼리와 filter 를 주었다.
[ 나의 코드 ]
static getRank10Cocktail = async () => {
const cocktails = await Cocktail.find({ rank: { $ne: null } }).populate({
path: "rank",
match: { rank: { $lte: 10 } },
});
const rankCocktail = cocktails.filter((v, i) => {
return v.rank != null;
});
const sortCocktail = rankCocktail.sort((A, B) => {
return A.rank.rank - B.rank.rank;
});
return sortCocktail;
};
[ 코드 리뷰]
따흐흑.. 🤣
이 부분은 아래와 같이 find() 에 쿼리를 하는 방식으로 바꿔봐야겠다..! 정답은 없으니깐 하나씩 고쳐보고 고민해보자!
💁♀️ 오늘 느낀 점
쿼리를 어떻게 짜는 지가 DB나 우리 서버의 성능을 좌우할 수 있다는 것을 느꼈다.
나는 앞으로 데이터 엔지니어로 일을 하고 싶고 앞으로 일할 서비스 환경은 대용량의 데이터를 다루게 될 것이다.
데이터의 크기에 따라 사용하는 쿼리 방식은 전부 다르다고 한다.
데이터베이스에 대한 이해과 공부는 필수이다!! 화이팅
그리고 내 스터디원이 다른 팀과 프로젝트 하는 모습...흑흑 우리라고 했잖아..! ㅋㅋㅋㅋ
📌 내일 할 일(계획)
- 리팩토링
- 좋아요 기능 리팩토링
- 무한스크롤 페이지네이션
- 로그인+회원가입 라우터, 서비스 합쳐서 유저 라우터 1개, 토큰(auth) 라우터 1개로 파일 구조 변경
반응형
'프로젝트 회고 > 저쪽 손님께서 보내신 겁니다. 🍸' 카테고리의 다른 글
[칵테일 웹 서비스 프로젝트] 12일 차 회고 (0) | 2022.05.04 |
---|---|
[칵테일 웹 서비스 프로젝트] 11일 차 회고 (0) | 2022.05.03 |
[칵테일 웹 서비스 프로젝트] 9일 차 회고 (0) | 2022.04.29 |
[칵테일 웹 서비스 프로젝트] 8일 차 회고 (0) | 2022.04.28 |
댓글