Nodejs - MongoDB findone具有完全匹配但不区分大小写

时间:2018-03-16 21:23:08

标签: javascript node.js mongodb

db.collection("accounts").findOne({Nickname: { $regex : new RegExp(player, "i") }}, function(err, result) { }

我目前拥有的,问题是我得到的是播放器变量的子串。但我只想要精确的,尽管不区分大小写的匹配。

2 个答案:

答案 0 :(得分:1)

前缀player带^和后缀带$,以便它匹配整个字符串

"^" + player + "$"

^匹配字符串的开头

$匹配字符串的结尾

boundary regex characters

的参考

所以使用这个表达式,你会说“找到以这个字符串开头和结尾的昵称”,即整个字符串

答案 1 :(得分:0)

你的正则表达式实际上要求一个子字符串。要求一个确切的字符串:

new RegExp("^" + player + "$", "i")

(保持其他一切都一样。)

^匹配输入的开头,$匹配结尾。这样,任何子字符串都不匹配。