javascript - 如何检查用户名和电子邮件是否已经注册?
问题描述
我尝试了各种方法,但似乎无法解决这个问题。我尝试过的最新方法是创建两个“findOne”函数,但仍然失败。
const checkUser = registerLogin.findOne({ username }, (err, user) => {
return user;
});
registerLogin.findOne({ email }, (err, user) => {
if (err)
res.send(err);
else if (checkUser)
res.status(403).json({ registerErrRequired: "Username is taken." });
else if (user)
res.status(403).json({ registerErrRequired: "Email is already in use." });
else if (!REGEX.test(email))
res.status(403).json({ registerErrRequired: "Invalid email." });
解决方案
您可以使用$or运算符来执行此操作。就像是:
registerLogin.findOne({$or: [{email: email}, {username: username}]}, (err, user) => {...})
推荐阅读
- blackberry - NDK 工具无法解密新的 BBID 令牌
- amazon-web-services - 尝试通过 Terraform 部署 AWS lambda 函数时出错
- matlab - 函数TextBounds Matlab中的DrawformattedText错误
- r - 如何根据r中的条件获得差异
- javascript - 是的验证 - 验证运行了多少次
- android - 如何在Android中获取设备的高度和宽度
- powershell - 如果 extensionAttribute 等于,则发送电子邮件
- r - 根据直接和间接关系对个人进行分组
- python - 从 S3 到客户端(Django 应用程序)的连续流中 Python 生成器函数中的异常处理
- javascript - 使用 MERN 和 CRUD 操作时,如何解决此层多次出现的问题