MongoDB / Mongoose:MarkModified一个嵌套对象

时间:2016-01-14 03:02:21

标签: javascript node.js mongodb mongoose

不幸的是,我没有记录,我可以对此进行测试,但我无法在任何地方找到相关信息。

说我有这样的文件:

{
  email:  {
       type: 'Gmail',
       data: {//freeform data},
    }
}

我想更新doc.email.data。我需要使用markModified(),否则数据无法正确保存。

我是否将此处修改为标记?

doc.email.data = newData;
doc.markModified('email.data');
doc.save();

或者我只做markModified('email')而Mongoose会解决剩下的问题吗?

1 个答案:

答案 0 :(得分:9)

您需要提供修改后的对象字段的完整路径,因此它应该是:

arg = val