我正在开发一个带有express和mongoDb以及mongoose的node.js应用程序。该应用程序将用户保存在下面的代码中没有问题,但在此代码中,即使进程成功,也始终控制错误,并保存用户。
我正在尝试制作Flash消息和验证,但我无法继续解决此问题。
另外,我不确定我是否使用了正确的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('/')
})
答案 0 :(得分:1)
我认为您希望将函数直接传递给save()作为回调
newUser.save(function (err, user) {
if (err) ..
})
根据您目前采用的方法,我认为您想要使用catch
newUser.save().then(function (user) }})
.catch((err) => ...);