Я хочу использовать add regex для моего запроса в mongodb.
server.js
app.post('/form',function(req,res){
var tf = req.body.termFound;
var str1 ='"keyword":{$regex:/'+tf+'/i}';
db.collection('a').find({str1}).toArray(function (err,results){
if (err) return console.log(err)
res.render('stest.ejs',{arr:results})
});
Например, если termFound равен LOOPS.Я хочу добавить регулярное выражение, чтобы оно стало нечувствительным к регистру, что позволяет мне находить значения полей с помощью (loops) или (loops, java)
"keyword":{$regex:/LOOPS/i}
, что делается из кода строки 3, описанного выше.Однако, когда я пытаюсь отправить его на мой mongoDB для подключения.Я подозреваю, что это дает другое значение.Когда я пытался
var str1 ='"keyword":{$regex:/'+tf+'/i}';
var str3 ={str1};
res.send(str3);
, я возвращался с
{"str1":"\"keyword\":{$regex:/LOOPS/i}"}
Мой последний запрос должен выглядеть примерно так:
db.collection('a').find({"keyword":$regex:/LOOPS/i}).toArray(function (err,results)
Я экспериментировал с JSON.parse (str1)
var str1 ='"keyword":{$regex:/'+tf+'/i}';
var filters = JSON.parse(str1);
db.collection('a').find(filters).toArray(function (err,results){
но ему дали
SyntaxError: Неожиданный токен: в JSON на 9-й позиции в JSON.parse ()
Я потратил несколько дней, пытаясь это исправить .. мой вопросКак я могу сделать запрос с помощью регулярных выражений, чтобы сделать мой поиск без учета регистра?