我尝试了近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字段,仍然不起作用。
有什么想法吗?