如何处理Node.js应用程序中的mongoose错误

我正在用express和mongoDb和mongoose开发一个node.js应用程序。 该应用程序将用户保存在下面的代码中,没有问题,但是在这个代码中,即使进程成功,用户仍然保存,它总是会出现控制台错误。

我试图做闪光消息和validation,但我不能继续这个问题。

另外,我不确定是否使用了正确的post方法(我应该使用res.status(500).send('error'))吗?

newUser.save().then(function (error) { if (error) { console.log('error') // always prints this } else { console.log('success') } }) 

完整的代码

 var User = require('../models/User') var router = require('express').Router() router.route('/user/signup') .get(function (request, response) { // render the form response.render('user/signup') }) .post(function (request, response) { var username = request.body.name var password = request.body.password var newUser = new User({ name: username, password: password }) newUser.save().then(function (error) { if (error) { console.log('error') } else { console.log('success') } }) response.redirect('/') }) 

我想你想直接传递函数save()作为callback

 newUser.save(function (err, user) { if (err) .. }) 

用你现在采取的方法,我想你会想用catch

 newUser.save().then(function (user) }}) .catch((err) => ...); 

来源:mongoose文档