1

我有一个非常基本的 POST 路由,可以根据给定的数据创建一个新用户。

这是我保存它的方法:

app.post('/create', function(req, res){
    var firstUser = new models.User(req.body);
    firstUser.save();
});

我的 Mongoose 用户模式有一些验证选项,它们有效。如果我传递了错误的数据,验证将失败并且不会创建用户。

但是有一个问题:Mongoose的save()函数是异步的,那我现在怎么让客户端验证失败呢?

届时将完成 post 功能。

4

1 回答 1

6

你应该看看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!' }); 
        }
    })
});
于 2012-12-27T01:16:32.883 回答