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 に設定したいです。私のユーザースキーマでは、それらは「Numbers」として宣言されています。

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 に答える