안녕하세요, 강사님
검색기능 질문이 있습니다.
text index 사용하여 검색기능 구현할 때, 포함하는 단어가 아니라 일치하는 단어 결과만 검색이 됩니다. 원인을 찾을 수 없어 질문드립니다
(list.ejs 에서)
<div class="container input-group mb-2">
<input class="form-control" id="search-input">
<button class="input-group-append btn btn-danger" id="search">검색</button>
</div>
<script>
$('#search').click(function(){
var 입력한값 = $('#search-input').val()
window.location.replace('/search?value=' + 입력한값)
})
</script>
(todoapp.post에서 indexes탭에서 text index생성)
{
"제목": "text"
}
(server.js에서)
app.get('/search', (요청, 응답) => {
console.log(요청.query);
db.collection('post').find({$text:{$search : 요청.query.value}} ).toArray((에러, 결과)=>{
console.log(결과)
})
})
(생성된 게시글 - 제목: 글쓰기, 제목 글쓰기지만, 제목 글쓰기지만 글쓰기처럼)
(console 출력에서)
{ value: '글쓰기' }
[ { _id: 9, '제목': '글쓰기', '날짜': '2022-01-30' } ]
만 출력이 됩니다.
포함된 단어가 아니라 일치하는 단어만 출력이 됩니다.
포함된 단어 검색기능 구현하고 싶은데 어떻게 하면 될까요?
확인 부탁드립니다.