• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 Node.js, Express 게시판 정규식 사용이 안 됨

정규식 사용이 안 됨

10 글 보임 - 1 에서 10 까지 (총 10 중에서)
  • 글쓴이
  • #73675

    이수인
    참가자
     안녕하세요. 강의를 수강하면서 해결이 되지 않는 부분이 있어서 질문드립니다.
    //검색기능 만들기 2 : 게시물이 100만개일 때 쓰는 indexing 개념설명
    파트에서 정규식에 대해 설명해드렸는데, 이상하게 제 코드에서 정규식이 사용이 되지 않습니다.
    
    
    app.get('/search', function(요청, 응답){
    	console.log(요청.query.value)
    	db.collection('post').findOne(
    	{
    		제목 : 요청.query.value
    	},function(에러, 결과){
    		if(결과 === null){
    			응답.send("<script>alert('없는 제목입니다. 다시 검색해주세요');\
    						location.href='/list';</script>");
    		}else{
    			응답.render('search.ejs', { posts : 결과 });
    		}
    	});
    });
    
    코드는 이렇게 돼있습니다. 강의에서 썼던 코드를 복붙해도 정규식이 사용되지 않습니다.
    참고로 현재 저는 구름ide를 사용하고 있습니다.
    
    #73692

    codingapple
    키 마스터
    어떤에러가 뜹니까
    #73814

    이수인
    참가자
    에러도 안 뜹니다. 그냥 정규식 표현식을 인식하지 못 하는 것 같습니다. 사용하기 전에는 검색이 잘 됐다면, 사용하면 검색했을 때 없다고 뜹니다.
    #73845

    codingapple
    키 마스터
    사용한 코드를 올려주시면 됩니다
    #74361

    이수인
    참가자
    죄송하지만, 위에 있는 코드 말고 어떤 코드를 올려달라는 건가요?
    #74390

    codingapple
    키 마스터
    정규식넣은 코드요 위 코드는 정규식이 없어보입니다
    #75186

    이수인
    참가자
    app.get('/search', function(요청, 응답){
    	console.log(요청.query.value)
    	db.collection('post').findOne(
    	{
    		제목 : /요청.query.value/
    	},function(에러, 결과){
    		if(결과 === null){
    			응답.send("<script>alert('없는 제목입니다. 다시 검색해주세요');\
    						location.href='/list';</script>");
    		}else{
    			응답.render('search.ejs', { posts : 결과 });
    		}
    	});
    });
    
    늦게 올려서 죄송합니다. 정규식 넣은 코드입니다.
    #75214

    codingapple
    키 마스터
    https://www.tutorialspoint.com/using-regex-in-mongodb-findone
    findOne쓸 때는 {$regex : 항목뒤에 정규식 넣읍시다
     
    #75378

    이수인
    참가자
    app.get('/search', function(요청, 응답){
    	console.log(요청.query.value)
    	db.collection('post').findOne(
    	{
    		제목 : {$regex:/요청.query.value/}
    	},function(에러, 결과){
    		console.log(결과)
    		if(결과 === null){
    			응답.send("<script>alert('없는 제목입니다. 다시 검색해주세요');\
    						location.href='/list';</script>");
    		}else{
    			응답.render('search.ejs', { posts : 결과 });
    		}
    	});
    });
    
    보내주신 사이트의 방법대로 하면 이렇게 되는 것이 맞나요? 이렇게 했는데도 정규식이 적용이 안 됩니다.
    findOne 말고도 find를 썼는데도 똑같이 사용이 안 됩니다.
    #75406

    codingapple
    키 마스터
    정규식안에 변수넣으려면 문자로만들고 `regex${변수}regex` 씁시다
10 글 보임 - 1 에서 10 까지 (총 10 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠