簡體   English   中英

檢查貓鼬的空白字段

[英]Check empty fields on mongoose

我在我的節點REST API上有這個功能

var router = express.Router();

/*router.get('/getUsers', function(req, res) {
    res.json({ message: 'hooray! welcome to our api!' });
});*/

router.route('/Users')
  .get(function(req,res){
      User.find(function(err,users){
        if(err)
          res.send(err);

        console.log('GET request');
        res.json(users);
      });
})
  .post(function(req,res){
      var user = new User();
      user.name = req.body.name;
      user.lastName = req.body.lastName;

      if(!user.name || !user.lastName){
        user.save(function(err){
          if(err)
            res.send(err);

          console.log('POST request');
          res.json({message:'Usuario creado'});
        });
      }else{
        res.json({message:'Campos vacíos'});
      }

  });

它工作,但當我發送一個帶有空參數的POST請求時,它會在mongoDB中保存一個文件而沒有namelastName字段, if(!user.name || !user.lastName)不能避免它


if (!user.name || !user.lastName) ...
檢查兩者中的至少一個必須為空/ null / undefined ,然后才保存它 - 正是你所描述的問題:)

所以我猜你想要的東西

if(user.name && user.lastName)...  

或者在if / else分支中交換代碼塊

if(!user.name || !user.lastName){
  res.json({message:'Campos vacíos'});
}else{
  user.save(function(err){
    if(err)
      res.send(err);
    console.log('POST request');
    res.json({message:'Usuario creado'});
  });
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM