如何在angularjs中使用mongodb中的变量模式

时间:2015-09-20 13:51:21

标签: javascript regex angularjs mongodb

我想使用angular-js和使用正则表达式对mongodb进行find()查询。 但我无法在正则表达式中使用变量模式。

以下是相同的代码。

var User=mongoose.model('User');
exports.searchname = function(req,res){

var pattern="hello";
User.find({displayName:{$regex:"/"+pattern+"/",$options:"si"}}).exec(function(err, data) {
    if (err) {
        return res.status(400).send({
            message: errorHandler.getErrorMessage(err)
        });
    } else {

        res.json({Data:data});
    }
});

我也尝试使用/ pattern /而不是" /" + pattern +" /"。它也没有成功。

1 个答案:

答案 0 :(得分:0)

尝试为您的查询创建 RegExp 对象:

var pattern = new RegExp('hello', 'i'); /* or new RegExp(/hello/, 'i'); */
User.find({displayName: pattern}).exec(function(err, data) {
    if (err) {
        return res.status(400).send({
            message: errorHandler.getErrorMessage(err)
        });
    } else {

        res.json({Data:data});
    }
});