即使使用markModified,Mongoose也不会实际保存模型

时间:2018-03-24 20:58:13

标签: javascript mongodb express mongoose

我尝试了近2个小时的搜索解决方案,无法修复我的代码。我已更新了用户帐户的架构,并希望保存新值。

我正在使用findOne以便我可以在保存之前验证字段是否存在,但是如果有更好的方法使用更新,请告诉我。

更新个人资料

            User.findOne({ 'local.userID': userID }, function(err, user) {

            // checks if their discord ID is undefined
           if (user.local.newDiscordID == undefined) {

                user.local.newDiscordID = message.author.id;
                user.local.newVerifiedStatus = true;

                user.markModified('local');
                user.markModified('local.newDiscordID');
                user.markModified('local.newVerifiedStatus');

                user.save(function(err, res) {
                    if (err) {
                        console.log(err);
                    } else {
                        console.log(`Activated ${user.local.email}.`);
                    }
                });

            };

模式

var userSchema = mongoose.Schema({
local: {
    email: String,
    password: String,
    userID: String,
    newDiscordID: String,
    newVerifiedStatus: String,
}

起初,我试图插入一个完整的新对象,并且发现我的代码无法工作的原因,所以我删除了该部分并尝试仅更新newDiscordID和newVerifiedStatus字段,仍然不起作用。

有什么想法吗?

0 个答案:

没有答案