這個問題在這里已經有了答案: 如何在貓鼬上使用“LIKE”運算子? (7 個回答) 3 天前關閉。
我正在制作一個字典網路應用程式,現在我正在嘗試制作一個搜索引擎。我想部分輸入一個單詞并獲得所有相似的匹配項。例如,我輸入“ava”,然后回傳“lava”和“available”。Mongoose 有一種方法可以做到這一點,但我需要將我的查詢括在斜杠中(例如 /query/)。我可以用一個字串來做到這一點,但我不知道如何在其中放置一個變數來進行用戶搜索。
// 執行,命名 LIKE john 并且只選擇“name”和“friends”欄位
await MyModel.find({ name: /john/i }, 'name Friends').exec();
這是我的代碼:
app.post("/search", function(req, res){
let search = req.body.wordSearch;
console.log(req.body.wordSearch);
Dicword.find({word: /search/i}, function(err, searchRes) {
search = searchRes;
res.render("search", {search: search});
} );
})
我使用let search來存盤查詢和搜索結果,但是當我將它放入帶有斜杠 /search/ 的 find 方法中時,它被識別為字串而不是變數。我如何在那里使用變數?
uj5u.com熱心網友回復:
試試這個
app.post("/search", function(req, res){
let search = new RegExp(req.body.wordSearch,'gi');
console.log(req.body.wordSearch);
Dicword.find({word: search}, function(err, searchRes) {
search = searchRes;
res.render("search", {search: search});
} );
})
uj5u.com熱心網友回復:
代替
{ word: /search/i }
像這樣寫
{ word: `/${search}/i` }
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/388150.html
標籤:javascript 节点.js 表达 猫鼬
