如何在ExpressJS中将变量连接到非字符串元素

时间:2016-03-17 13:20:39

标签: javascript string mongodb express mean-stack

我正在开发一个平均堆栈应用程序,我需要在mongodb中执行查询,该查询是db.locations.find({“name”:/ sometext /});此查询将提供在名称feild中找到“sometext”的所有结果。

现在我已经表达了像这样的代码

app.post('/api/request/test1',function(req,res){
res.contentType('application/json');
console.log(req.body.name);
var a = req.body.name;
var x= /+a+/;
locations.find({"name":x}).toArray(function (err, items) {
res.send(items);
})    
})

但是这段代码无效,因为var x = / + a + /给出了错误。

我想要的最终结果是这样的,假设变量a =“TEST” 所以x必须是/ TEST /没有单引号或双引号,否则mongodb就不会抓住它。

感谢。

1 个答案:

答案 0 :(得分:0)

非常感谢@Pointy我得到了答案。

我使用这个

创建了一个新的正则表达式
var x= new RegExp(req.body.name);

所以现在如果req.body.name的值是TEST,则x将具有/ TEST /作为结果。

由于