【问题标题】:How do I set default value of an integer in mongodb?如何在 mongodb 中设置整数的默认值?
【发布时间】:2015-08-04 18:33:24
【问题描述】:

我是 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。在我的用户架构中,它们被声明为“数字”。

【问题讨论】:

  • 你在用猫鼬吗?
  • 如果你使用猫鼬,你只需在属性中添加一个默认值:var userSchema = new Schema({ win: { type: Number, default: 0 } })
  • 是的,我正在使用猫鼬
  • 谢谢伙计。这对我来说效果很好。我不知道我能做到这一点。

标签: node.js mongodb


【解决方案1】:

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

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

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

【讨论】:

  • 我对子目录还不熟悉,因为我只是从node和mongodb开始,所以我现在保持简单,在我学习的后期阶段进行。不过谢谢!我解决了这个问题。
  • 可以给您发电子邮件吗?我对我所做的小项目有疑问,我的 mongodb 有更多问题
猜你喜欢
  • 2019-12-24
  • 2013-07-11
  • 1970-01-01
  • 1970-01-01
  • 2012-08-27
  • 2019-02-15
  • 2011-12-31
  • 2010-11-14
  • 2021-09-22
相关资源
最近更新 更多