16

我是 mongodb 和 node.js 的新手。让我知道,创建用户后如何设置默认值。

这是我当前的代码:

// CREATE USER
app.post("/user/create", function (req, res) {
    var user = new User({
        username: req.body.username,
        password: req.body.password,
        email: req.body.email,
        //changes made
        win: req.body.win,
        lose: req.body.lose,
        draw: req.body.draw
    });
    user.save(function (err, user) {
        if (err)
            res.json(err)
        //res.end('Registration '+user.username +' Ok!');
        req.session.loggedIn = true;
        res.redirect('/user/' + user.username);
    });
});

我希望在创建用户后将我的赢、输、平字段设置为 0。在我的用户模式中,它们被声明为“数字”。

4

1 回答 1

45

当您使用 Mongoose 时,您可以将默认值设置为Schema定义的一部分:

var userSchema = new Schema({ 
    win: { type: Number, default: 0 }
});

这些选项在此处记录。如果将默认设置为函数,它也会在模型实例化时执行,这也很酷。例如,如果它是:default: Date.now,它将Date.now()在创建模型时调用该函数。

于 2013-09-21T16:24:03.727 回答