ske*_*rit 1 mongoose node.js express
我有一个非常基本的POST路由,可以从给定的数据中创建一个新用户.
这是我如何保存它:
app.post('/create', function(req, res){
var firstUser = new models.User(req.body);
firstUser.save();
});
Run Code Online (Sandbox Code Playgroud)
我的Mongoose User架构有一些验证选项,可以使用.如果我传递了错误的数据,则验证失败并且不会创建用户.
但是有一个问题:Mongoose的save()函数是异步的,那么如何让客户端现在验证失败呢?
post函数将在那时完成.
你应该看看Mongoose文档.因为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!' });
}
})
});
Run Code Online (Sandbox Code Playgroud)