在mongoose中更新对象会导致循环

在mongoose中更新对象会导致循环

在我的nodejs api应用程序中,我有以下路径:

router.post('/startuserseries', function(req, res, next){
  if(!req.body.username){
    return res.status(400).json({message: 'Geen username'});
  }

  User.findOne({ 'username': req.body.username}, function(err, foundUser){
    if(err)
      return next(err);

    if (foundUser) // check the value returned for undefined
    {
      foundUser.isdoingchallenges = true;
      foundUser.save(function (err) {
        if(err) {
            console.error('ERROR!');
        }
      });
    }
  });

});

当我用邮递员呼叫这条路线时,请求永远不会结束。
我尝试过使用put,但也没有成功,我尝试过各种代码结构,但都没有成功。

最佳答案

此请求将不会完成,因为它没有在服务器上写入响应命令。
您应该像下面这样轻松地解决这个问题:

router.post('/startuserseries', function(req, res, next){
  if(!req.body.username){
    return res.status(400).json({message: 'Geen username'});
  }

  User.findOne({ 'username': req.body.username}, function(err, foundUser){
    if(err)
      return next(err);

    if (foundUser) // check the value returned for undefined
    {
      foundUser.isdoingchallenges = true;
      foundUser.save(function (err) {
        if(err) {
           res.json(err);
        }
      });
    }
    res.send(200);
    // or your specific result json object
    // res.json({"error":false,"message":"completed"})
  });

});

关于node.js - 在mongoose中更新对象会导致循环,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33395936/

10-11 23:50