我和猫鼬有一个奇怪的问题,我开始怀疑我做错了什么。
我的架构看起来像这样:
var personSchema = mongoose.Schema({
name: String, // Self-e
info: { type: Object, default: {'value':'result'} },
created_on: { type: Date, default: Date.now }
})
获取文档后,我试图像这样编辑info
对象(假装person
是获取的文档):
person.info['value2'] = 'result2'
person.save()
这些更改未显示在数据库中,运行时我没有收到任何错误。有什么想法吗?
答案 0 :(得分:1)
正如我从@ippi那里了解到的那样,因为info
是一个混合对象,你需要确保Mongoose知道它已被修改,以便在你调用person.save()
时保存它
例如:
person.info['value2'] = 'result2'
person.markModified('info')
person.save()