我使用此代码进行不区分大小写的搜索:
Effect.find({name: new RegExp('^'+name+'$', "i")}).lean().exec(function(err, effect){
if(err) return callback(err, null);
callback(null, effect);
});
首先看起来它看起来很好。
问题:
我有一个名为test A/c
的效果。
当我在数据库中搜索确切的不区分大小写的匹配时,我得到了结果:
案例:1 当我搜索test A/
时,我找到了匹配项。
案例:2 同样针对test A/c
,我找到了匹配项。
第一种情况不适合。我知道这是我的Regex表达式的一个问题。但我对Regex来说相当新。
答案 0 :(得分:-1)
终于找到了错误。 new RegExp()
函数不需要转义backslash
。我的错误是,我从url发送了这个值,因此在斜线后它被计为新参数。