这是测试用例:
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 对此进行了测试。
知道为什么吗?