我有一个Mongo数据库,我通过Mongoose和Node.js访问。该数据库包含一系列名为Machine
的项目。每台计算机都有一个存储为String
的字段,但表示正则表达式。我们想要获取给定的String(由用户提供)并针对数据库中的所有正则表达式进行检查以找到任何可能的匹配项。我知道你可以通过正则表达式搜索数据库,如下所示:
Machines.find({subject: {$regex: hi}}).exec(function(err, results) {
// do stuff to results
});
但我怎么能这样做呢?
答案 0 :(得分:3)
您可以使用$where
:
Machines.find({
$where: 'new RegExp(this.subject).test(' + '"' + string + '") === true'
})
也欢喜greg