我有一个非常基本的POST路由,可以从给定的数据中创建一个新用户。
以下是我如何保存它:
app.post('/create', function(req, res){
var firstUser = new models.User(req.body);
firstUser.save();
});
我的Mongoose User架构有一些验证选项,可以使用。如果我传递了错误的数据,验证将失败,并且不会创建用户。
但是有一个问题:Mongoose的save()函数是异步的,那么如何让客户端现在验证失败呢?
后期将完成后期功能。
答案 0 :(得分:6)
你应该看看Mongoose documentation。因为save方法是异步的,所以它将回调作为参数。这是您应该检查错误的地方。
app.post('/create', function(req, res){
var firstUser = new models.User(req.body);
firstUser.save(function (err) {
if (err) {
res.send(500, { error: 'Saving first user failed!' });
} else {
res.send({ success: 'Saved!' });
}
})
});