본문 바로가기
프로젝트 회고/저쪽 손님께서 보내신 겁니다. 🍸

[칵테일 웹 서비스 프로젝트] 10일 차 회고

by HelloJudy 2022. 4. 30.

📖 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개로 파일 구조 변경
반응형

댓글