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