node js에서 정규식에 사용자가 보낸 data를 쓰려면 new RegExp라는 객체의 정규표현식 함수를 쓰면 된다. 다른 방법으로는 변수에 정규 표현식을 작성해주면 된다.
ajax의 url에 설정된 path와 일치하는 함수에 data:{keyword:keyword}로 data를 넘겨주면 아래와 같이 req.body.keyword로 값을 받을 수 있다.
aggregate 함수를 사용해서 해당 "field"라는 field에서 정규 표현식에 매칭되는 data들을 results에 넣어 반환 받는다.
res.send로 ITnewbieSearch 함수를 호출한 ajax에 가서 results를 쓸 수 있게 해준다.
앞에 있던 뒤에 있던 가운데에 있던 어디에 껴있던 상관 없이 해당 단어를 찾고 싶다면 그냥 keyword만 쓰면 된다.
1 2 3 4 5 6 7 8 9 10 | var ITnewbieSearch=function(req,res){ var database=req.app.get('database'); var keyword=req.body.keyword; //Ajax에서 post 형식으로 data를 전달해 줌 console.log(keyword); console.log('ITnewbieSearch 호출됨'); database.JobModel.aggregate([{$match:{field:{$regex:new RegExp('^'+keyword)}}}],function(err,results){ res.send(results); }); } | cs |
http://oneshottenkill.tistory.com/308
https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide/%EC%A0%95%EA%B7%9C%EC%8B%9D
'JS > NodeJS' 카테고리의 다른 글
취업 사이트 크롤링 Crawling 조회 (0) | 2018.08.12 |
---|---|
취업 사이트 크롤링 Crawling (0) | 2018.08.12 |
Node JS cheerio iconv-lite 크롤링 한글 깨짐 사이트가 euc-kr인 경우 (0) | 2018.08.09 |
Node JS scraping crawling 참고 (0) | 2018.08.07 |
Node JS get과 post 요청을 다루는 방법 (0) | 2018.07.20 |