在我的 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!');
}
});
}
});
});
当我在 postman 中调用这条路由时,请求永远不会结束。 我尝试过使用 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/