2015-03-16 2 views
3

У меня есть база данных Mongo, к которой я обращаюсь через Mongoose и Node.js. База данных содержит ряд статей, называемых Machine. Каждая машина имеет поле, которое хранится как String, но представляет собой регулярное выражение. Мы хотим взять данную String (предоставленную пользователем) и проверить ее на все регулярные выражения в базе данных, чтобы найти возможные совпадения. Я знаю, что вы можете найти в базе данных с помощью регулярных выражений с чем-то вроде этого:Как я могу найти MongoDB регулярных выражений для совпадений с заданной строкой?

Machines.find({subject: {$regex: hi}}).exec(function(err, results) { 
    // do stuff to results 
}); 

Но как я могу сделать реверс это?

ответ

3

Вы можете сделать это с помощью $where:

Machines.find({ 
    $where: 'new RegExp(this.subject).test(' + '"' + string + '") === true' 
}) 

также привет Greg

Смежные вопросы