2017-12-08 18 views
0

私は2つの条件、キーワード、およびユーザーIDでdbを照会していますが、どちらもコンソールログに正しく戻りますが、何も返されません。構文に何か問題がありますか?マングースクエリーfind()は何も返しません

app.get("/api/client?", function (req, res) { 

console.log("Search > " + JSON.stringify(req.query)); 
//Search > {"keyword":"emily","filterby":"5a25f3d1d4b3e30792dd53ca"} 

var keyword = req.query.keyword; 
var user_id = req.query.id; 

Client.find({ 
    $and: [{ 
     "firstname": new RegExp('^' + keyword + '$', "i") 
    }, 
    { 
     userid: user_id 
    } 
    ] 
}, (err, result) => { 
    if (err) { 
    console.log(err); 
    } 
    res.status(200).json(result); 
    console.log("Result is... " + result) 
    //Result is 

}); 
}); 

代わりに、私は、ユーザーIDに基づいて、すべてを検索し、クエリずにしようと、それが解決策を見つけたデシベル

app.get("/client", function (req, res) { 
var user_id = req.query.id; 

Client.find({ 
    userid: user_id 
}, (err, result) => { 
    if (err) { 
    console.log(err); 
    } 
    res.status(200).json(result); 

}); 
}); 

答えて

0

内のすべてのレコードを返し、動作します! Noobの間違いは、私はすべて、varはUSER_ID = req.query.idが、私はそう

console.log {"keyword":"emily","filterby":"5a25f3d1d4b3e30792dd53ca"} 

に基づいて、「filterby」に渡され、実際にそれがあるべき検索で働いていたものに追いついた

var keyword = req.query.keyword; 
var **filterby** = req.query.id; 

Client.find({ 
    $and: [{ 
     "firstname": new RegExp('^' + keyword + '$', "i") 
     }, 
     { 
     userid: **filterby** 
     } 
    ] 
    } 
関連する問題