我想使用 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+“/”。也没有成功。
最佳答案
尝试创建一个 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});
}
});
关于javascript - 如何在 mongodb 的 angularjs 中使用变量模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32680142/