我有这样的查找语句
collSession.find({"Venue.type": /.*MT.*/}).toArray(function (err, _clsSession)
{
console.log(_clsSession);
});
它给出了答案。但我需要一些变量值而不是那个硬编码值 MT。如何做到这一点?谢谢。
更新我试过像 " /."+searchterm+"./ " 它不工作。
我有这样的查找语句
collSession.find({"Venue.type": /.*MT.*/}).toArray(function (err, _clsSession)
{
console.log(_clsSession);
});
它给出了答案。但我需要一些变量值而不是那个硬编码值 MT。如何做到这一点?谢谢。
更新我试过像 " /."+searchterm+"./ " 它不工作。
除了使用内联语法创建正则表达式,您还可以使用RegExp对象创建基于字符串的正则表达式
var searchPhrase = "MT";
var regularExpression = new RegExp(".*" + searchPhrase + ".*");
collSession.find({"Venue.type": regularExpression}) [...]
替换/.*MT.*/
为new RegExp( ".*" + variable + ".*" )
尝试这个:
var pattern = 'concatenate string' + here,
regexp = new Regexp(pattern);
最后我从这里得到
它是“Venue.type”:新 RegExp(queryParams.et)
看看这段代码:(我用的是猫鼬)
exports.getSearchPosts = (req, res, next) => {
const keyword = req.body.keyword;
Post.find({ postTitle: new RegExp( ".*" + keyword + ".*" ) }).then(posts => {
res.render('post/search', {
pageTitle: 'Search result for: ' + keyword,
posts: posts,
category: postCategory,
posts: catPost,
});
}).catch(err => console.log(err));
}
我想你会发现它很有帮助