키워드 검색기능 구현

송민지·2022년 6월 15일
0

항해99

목록 보기
3/5

이번 프로젝트에서 사용될 검색 기능을 구현했다. (사실 프론트에서 해달라고 미리 만들어 두셨더라..)

이번 기능을 구현하면서 3가지 조건을 세웠다.

  1. 검색단어를 req.query로 가져오기

계속 req.prams만 쓰다가 query로 가져오려니 슬슬 머리아파지기 시작했다.
한동안 삽질하다가 기술매니저님께 여쭤봤더니 콘솔에 req.query를 찍어보라 하셨다.
그제서야 내가 삽질하고 있단걸 알게되었다.

쿼리값은
이렇게 오고 있는데 키값을 안줬으니 콘솔에 안찍히는게 당연하지

일단 쿼리값을 가져왔으니 검색기능을 만들자

  1. 검색어가 들어간 본문 또는 제목 가져오기

로직은 정말 간단하게 생각했다.

1.데이터베이스에서 검색값이 있는지 찾는다.
2.일치하는 제목 또는 내용이 있는지 찾고 ,
3.그걸 다시 프론트에 넘겨준다.

그런데 말이 쉽지 어떻게 해야하나 생각하다 구글링해보고 sequelizeORM에 대해 알게되었다.

그리고 여기서 지원하는 [like]와 [or]를 이용해 코드를 작성했다.
Op.like는 MySQL의 like와 같다. ${searchWord}%는 해당 검색어로 시작하는 결과, %${searchWord}는 해당 검색어로 끝나는 결과, %${searchWord}%는 위치 상관없이 해당 검색어를 포함하는 결과이니 마지막 것을 사용했다.

  1. 일치하는 값이 없거나 검색어가 없는경우 처리하기
  1. 검색어가 없는경우

    • 400번대 에러와 함께 메세지를 프론트에 전달했다.
  2. 일치하는 값이 없는 경우

    • 템플릿 리터럴를 이용해 400번대 에러와 메세지를 전달했다.


https://ram-t.tistory.com/67


https://velog.io/@young224/%ED%82%A4%EC%9B%8C%EB%93%9C-%EA%B2%80%EC%83%89-%EA%B8%B0%EB%8A%A5-%EA%B5%AC%ED%98%


https://myunji.tistory.com/156?category=1154148

profile
기록하는 일상

0개의 댓글