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" } })