javascript - 检查mongodb中是否存在数字
问题描述
registerRouter.route('/uidcheck')
.post((req, res, next) => {
Register.find({ aadhaar: Register.aadhaar })
.then((user) => {
res.statusCode=200;
res.setHeader('Content-type', 'application/json');
res.json('User already exists');
}, (err) => next(err))
.catch((err) => next(err));
})
我一直在尝试检查输入的 aadhaar 编号是否存在于数据库(mongodb)中。我编写了上面的代码,即使我(通过邮递员)发布的 aadhaar 号码不存在,它总是返回“用户已经存在”。至少它应该返回任何错误(无需创建任何错误)。
我什至使用过 findOne() 查询,但没有用。
解决方案
只有在有error
. 错误就像网络错误。
要求数据库找到一个用户并且它没有找到一个用户并不是一个错误,即你的代码仍然会进入.then
块。您应该在此.then
块中检查
.then( (user) => {
if (user) {
// all ok
} else {
// there is no user
}
}
并编写您的业务逻辑。
推荐阅读
- javascript - 单击 HTML 表格行并打开带有预填充数据的表单
- amazon-web-services - 如何让 Cloudformation 我们成为公共 AMI
- html - Flex box - 一个大 div 紧挨着几个小 div
- android - Ionic Capacitor Cordova YouTube Video Player 在 Android 项目中声明 YouTubeDataApiKey 的位置
- javascript - preact-cli/babel/typescript - 让 Symbol.iterator 和 [...spread] 正常工作
- flutter - 我真的,甚至不知道如何为这个问题提出问题
- java - PreAuthorize 在 Spring Security 中不起作用
- python - Python 3 从体育网站提取 html 数据
- python - “索引 14 超出轴 0 的范围,大小为 2”
- c# - ASP.NET core OData:将包含字典的类序列化为 JSON,字典变成键值对数组。需要它是一个对象