如何针对给定字符串搜索MongoDB的正则表达式?

时间:2015-03-16 22:27:25

标签: node.js mongodb mongoose

我有一个Mongo数据库,我通过Mongoose和Node.js访问。该数据库包含一系列名为Machine的项目。每台计算机都有一个存储为String的字段,但表示正则表达式。我们想要获取给定的String(由用户提供)并针对数据库中的所有正则表达式进行检查以找到任何可能的匹配项。我知道你可以通过正则表达式搜索数据库,如下所示:

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

但我怎么能这样做呢?

1 个答案:

答案 0 :(得分:3)

您可以使用$where

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

也欢喜greg