首页 > 解决方案 > 使用猫鼬向现有文档添加新属性

问题描述

我正在尝试更新现有文档以使用 js 添加新属性。

User.findOne({ name: req.body.user.name }).exec((err, user) => {
    // Handle database errors
    if (err) {
        res.status(500).send(err);
    } else {
        user['name'] = req.body.user.name;
        user['mail'] = req.body.user.mail;
        user['apikey'] = req.body.user.apiKey;
        console.log('ApiKey: ' + req.body.user.apiKey);
        console.log('User: ' + user   );
        user.save((err, saved) => {
            if (err) {
              console.log("error");
              res.status(500).send(err)
            }
            res.json({ user: saved });
        });
    }
});

但似乎我无法根据日志添加新的。新的 它不是必填字段。这是我的模型:

const userSchema = new Schema({
    name: { type: 'String', required: true },
    mail: { type: 'String', required: true },
    password: { type: 'String', required: true },
    apiKey: { type: 'String', required: false }
});

let User = mongoose.model('User', userSchema);

我刚刚开始使用 mongoose 使用 mongoDB,所以我有很多基本的错误。

标签: javascriptjsonmongodbmongoosecrud

解决方案


推荐阅读