首页 > 解决方案 > 检查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() 查询,但没有用。

标签: javascriptnode.jsmongodbpostman

解决方案


只有在有error. 错误就像网络错误。

要求数据库找到一个用户并且它没有找到一个用户并不是一个错误,即你的代码仍然会进入.then块。您应该在此.then块中检查

.then( (user) => {
  if (user) {
    // all ok
  } else {
    // there is no user
  }
}

并编写您的业务逻辑。


推荐阅读