IM建立一個網站,使用的NodeJS,expressjs,MongoDB的,貓鼬,身體解析器和等。搜索查詢中使用正則表達式
基本上我已經創建了一個搜索功能,在那裏你可以搜索用戶基本上它的工作原理,但問題是,它是區分大小寫的,我想搜索用戶使用不區分大小寫。
我在堆棧溢出中發現了一個解決方案,並在我的mongo shell上嘗試過。這是命令
db.loginusers.find({
$or:
[
{"firstname": {$regex: /^PIa$/i}},
{"lastname": {$regex: /^NAtUrE$/i}}
]
})
這對mongoshell工作。所以,當我試圖把這個在我的JS文件,
app.post("/searchresult", function(req, res){
var thename = req.body.thename;
LoginUser.find({
$or: [
{"firstname": {$regex: /^thename$/i}},
{"lastname": {$regex: /^thename$/i}}
]
}, function(err, searchedUser){
if(err){
console.log(err);
res.redirect("back");
} else {
res.render("searchprofile", {foundUser: searchedUser});
}
});
});
它不工作沉綿我試圖把正確的情況下,它不能正常運行的名字..
我的問題是,這樣做在我使用JS文件中的正則表達式之前,我需要做些什麼?
謝謝你!
LoginUser.find({
$or: [
{'firstname': {$regex: /PIa/i}},
{'lastname': {$regex: /NAtUrE/i}}
]
})
還閱讀文檔:
@WiktorStribiżew'thename'是一個變量,我覺得這是最主要的問題。 – robertklep