在mongoose中更新doc

时间:2013-11-14 18:19:37

标签: mongodb mongoose

在mongoose中更新doc。

Model.findOne({_id: '123'}, function (err, doc) {
  // some conditions 
  doc.body = 'body';
  doc.update(); //update the doc in db
});

条件是复杂的内嵌表示,如MyModel.update({ age: { $gt: 18 } }, { oldEnough: true }, fn);

中显示的doc.update();

{{1}}不起作用。如何最有效地更新文档?

1 个答案:

答案 0 :(得分:0)

您必须使用save(),而不是使用更新运行代码。原因是您的update绝对没有做任何事情(您没有指定需要更新哪些文档以及如何更新它。)

保存命令不会创建新元素,因为您不会更改元素的ID(如果您未在//some conditions code中执行此操作)。因此,它只会使用特定的_id修改元素。