2017-12-02 2 views
0

사용자 데이터베이스가 있고 데이터베이스에서 이름으로 검색을 시도하고 있습니다 예 : 데이터베이스에 firstName, 앨런 알렉스 아룬 Alexender 밥 빌mongoDb에서 내 검색어가 정규식을 사용하여 검색하는 동안 빈 목록을 반환 함

그리고 내 쿼리를 작성할 때

router.get('/friendSearch/:q', function (req, res) { 
var result = []; 
User.find({firstName: "/" + req.params.q + "/"}, function (err, list) { 
    if (err) { 
     console.log(err); 
    } 
    else { 
     console.log("In else"); 
     console.log(list); 
    } 
}); 

});

그리고 쿼리가 반환해야 PARAMS 내 요청에 "A"를 통과, 앨런 알렉스 아룬 Alexender

그러나 나는 빈 목록을 얻을 수있는 반면. 감사 대신

답변

0

사용 $regex : 당신이 원하는 경우

{firstName: { '$regex' : req.params.q, '$options' : 'i' }} 

당신이 $options을 제거 할 수 있습니다. i 매개 변수는 대/소문자와 일치하도록 대/소문자 구분을 검색합니다. 당신은 대소 문자를 구분 옵션이 필요하지 않은 경우 당신은 그런 식으로 쿼리를 작성할 수 있습니다 : 여기

{firstName: { '$regex' : req.params.q}} 

documentation