亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

檢查mongodb中是否存在數字

檢查mongodb中是否存在數字

慕虎7371278 2022-07-21 10:55:41
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() 查詢,但沒有用。
查看完整描述

2 回答

?
手掌心

TA貢獻1942條經驗 獲得超3個贊

實際上代碼需要像這樣更改:-


router.post('/uidcheck', async(req, res) => {

    try {

        const exists = await Register.findOne({ aadhaar : req.body.aadhaar})

        if(exists == null){

            res.statusCode = 200;

            res.setHeader('Content-type', 'application/json');

            res.json({success: true, status: 'You are allowed to register'});

        }else{

            res.statusCode=200;

            res.setHeader('Content-type', 'application/json');

            res.json({status: 'User already exists'});

        }

    }

    catch(error){

        res.status(500).send({message: "Error checking"});

    }

})

我做了一些更正,它有效!


查看完整回答
反對 回復 2022-07-21
?
慕容森

TA貢獻1853條經驗 獲得超18個贊

只有在有error. 錯誤就像網絡錯誤。


要求數據庫找到一個用戶并且它沒有找到一個用戶并不是一個錯誤,即你的代碼仍然會進入.then塊。您應該在此.then塊中檢查


.then( (user) => {

  if (user) {

    // all ok

  } else {

    // there is no user

  }

}

并編寫您的業務邏輯。


查看完整回答
反對 回復 2022-07-21
  • 2 回答
  • 0 關注
  • 111 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號