簡體   English   中英

Express 和 MongoDB,使用 $text 和 $search 時 collection.find 中出現轉義字符的問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM