2022-04-20(수) TIL

황인호·2022년 6월 7일
0

TIL 모음

목록 보기
28/119
  • 오늘해야할일

API작성하면서 왜 이렇게 작성했는지?

작성하면 결과가 어떻게 나오는지를 확인하면서 스스로 생존할수있을 정도의 실력을 기른다.

  • 새로 알게된 내용

MongoDB Mongoose & Node.js 정규표현식을 사용하여 일치하는 데이터 찾기

MongoDB Mongoose 검색 기능

Finder 검색 기능은 Landing Page 에서 검색 창의 OnChange 되는 단어들을 body부분으로 감싼 후 백엔드에 보내는 식이다.

  • 수정 전 코드
Product.find()
			 .find({$text:{ $search: term }})

수정 후 코드

Product.find()
			 .find({ title: { $regex:term, $options: "i" } })

대용량 처리 속도가 text보단 regex가 훨씬 높다고 나와있고 테스트 실행결과 검색 속도가 2배 이상 빨라진다

MongoDB 참조문서

참조문서 에서도 나와있듯이 regex 는 연산자를 사용하여 문자열의 시작 부분에서 검색을 하지 않으므로 부분 텍스트를 검색할 수 있게되어 많은 패턴들을 받아올 수 있다.

또한 MongoDB참조문서를 확인해보면

앞으로 정규표현식을 사용할때 대소문자를 구분하지 않는다는 options을 사용하려면

예시 코드

[대소문자 구분X]
Product.find()
			 .find({ title: { $regex:term } })
-------------------------------------------------------------
[대소문자 구분O]
Product.find()
			 .find({ title: { $regex:term, $options: "i" } })
profile
성장중인 백엔드 개발자!!

0개의 댓글