MongoDB RegExp不一致

气派

这是测试用例:

db.test.insert({ name: "john"});
db.test.insert({ name: "donny"});
db.test.insert({ name: "lenny"});

db.test.find({ name: { $regex: /^((?!nn)[\s\S])*$/}}); //works fine, returns only john
db.test.find({ name: { $regex: new RegExp("/^((?!nn)[\s\S])*$/")}}); //returns nothing

正则表达式应该返回不包含“ nn”的对象,但是在使用RegExp对象时不起作用。我使用Robomongo进行了测试。

知道为什么吗?

香港强尼

使用时,请勿包含开头和结尾/字符new RegExp这些仅与JavaScript中的文字符号一起使用。您还需要在字符串中转义反斜杠。

db.test.find({ name: { $regex: new RegExp("^((?!nn)[\\s\\S])*$")}});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章