[英]Express and MongoDB, problem with escape characters in the collection.find while using $text and $search
從 MongoDB 文檔開始,
db.articles.find( { $text: { $search: "\"coffee shop\"" } } )
需要將其在 collection.find 中的轉義字符插入到屬於 req.query.name 的名為 query 的變量中,因此可以使用該文本索引。
var query = req.query.name;
collection.find({ $text: { $search: '"\"' + query + '\""'}})
我也試過
'"\"query\""'
不幸的是,我的預期不起作用,您有什么解決方案嗎? 謝謝
一種方法是使用ES6 模板文字。 嘗試這個:
var query = `"${req.query.name}"`;
collection.find({ $text: { $search: query}})
或者
var query = '"' + req.query.name + '"';
collection.find({ $text: { $search: query}})
試試這個,這將有助於進行與 Mongodb 文檔中提到的相同的查詢。 它也將使用您的索引。
var value = `\\"${query}\\"`;
collection.find({ $text: { $search: value}})
如果有任何機會,您的外部雙引號丟失,那么試試這個:
var value = `"\\"${query}\\""`
collection.find({ $text: { $search: value}})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.