我要匹配集合中的用户名。
User.findOne({ username: {$regex: new RegExp('^' + req.body.username, 'i')} }).select('_id').exec(function (err, user) {
if (err) {
res.json({ "status": 0, "message": "Something went wrong" });
} else {
if (user) {
res.json({ "status": 0, "message": "This username is already taken." });
} else {
res.json({ "status": 1, "message": "Username is valid" });
}
}
});
我已经在集合中记录了用户名“ vikash1”。我想检查用户名是否存在。 当我输入“ Vikash2”时,以上查询将返回“用户名已存在” 但是在这里,我输入“ vikash2”是不同的。 我想要完全匹配,但对现金不敏感。
答案 0 :(得分:0)
User.findOne({ username: req.body.username }).collation({ locale: "en", strength: 2 }).exec(function (err, user) {
if (err) {
res.json({ "status": 0, "message": "Something went wrong" });
} else {
if (user) {
res.json({ "status": 0, "message": "This username is already taken.", "data": user });
} else {
res.json({ "status": 1, "message": "Username is valid" });
}
}
});