我想傳遞一個對象到MongoClient的collection.find()方法,但我不想引號圍繞值。如果我通過文字它按預期工作:如何使用不帶引號的文本字符串創建對象?
cursor = collection.find({EmployeeName: {'$regex': /Jo/i}});
但是,如果我嘗試建立一個對象,如:
var queryt = "/Jo/i";
var queryo = {
EmployeeName: {'$regex': queryt}
};
它不工作。如果我做了console.log(queryo)
我可以看到,周圍有「喬/我」的報價:
{ EmployeeName: { '$regex': '/Jo/i' } }
注意,在我的應用程序queryt實際上是由於從由返回「查詢」對象提取值設置來自快遞的'取得'功能。例如,我打電話給結尾的URL爲「?EmployeeName:/ Jo/i」的網頁。在我的「獲取」功能,我這樣做:
var queryt=req.query.EmployeeName;
所以,基本上我想使用這個應用程序的Node.js是後端服務器,通過HTTP GET請求,接受查詢。
我試過各種方法的條形引號,但沒有成功。
對不起,如果這是一個新手型問題,但我只是在學習,並且已經花了數小時試圖解決它。我希望有更多經驗豐富的node.js開發人員能夠快速告訴我如何構建此對象,以便collection.find將接受它。謝謝!
從var queryt =「/ Jo/i」中刪除引號;' - 目前您正在創建一個字符串而不是正則表達式對象。它應該是'var queryt =/Jo/i;'就像你演示的第一種方式一樣。 – nnnnnn