mongodb - 与mongodb中不区分大小写的完全匹配
问题描述
我想匹配集合中的用户名。
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”它是不同的。我想要完全匹配但对现金不敏感。
解决方案
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" });
}
}
});
推荐阅读
- azure-functions - Azure Functions IsPastDue - 何时设置为 true?
- c++ - 将向量大小调整为大于 2^31 后的 std::length_error
- mongodb - mongodb在一个字符串中查找多个单词
- discord.py - 如何让您的不和谐机器人在激活之前“记住”消息?
- vba - 如何用逗号分隔列表框选择?
- python - 如何解决 IndexError:数组的索引过多
- c# - 使用 Microsoft Graph 进行 Exchange 集成(本地)C# 示例
- swagger - Swagger 中的关联数组 (OpenApi 3.0.0)
- ios - 在 Firebase 中存储切换按钮状态
- php - 如何使用 PHP 为具有相同分数的用户分配相同的排名?