我在mongoose中有一个非常基本的用户模型。它看起来像这样。
var userSchema = new mongoose.Schema({
name: String,
email: String,
username: String,
message: {
active {type: Boolean, default: false},
text: String
}
});
当用户请求某个页面时,我使用findOne来获取用户的数据
UserModel.findOne({username: matchLowerCase(req.session.user)}, function (err, doc)
{
if (doc)
{
res.render('main', {
username: doc.username,
//etc
});
}
});
用户加载页面后,我想设置"消息"关键是不活动,就像这样。
doc.message = {
active: false,
text: ''
}
doc.markModified('message');
doc.save(function (err)
{
console.log('save err', err);
});
无论出于何种原因,doc.save()都不会更新消息密钥。如果我修改脚本中的任何其他字段,doc.save()可以正常工作。我错过了什么?