Mongodb 在mongoose中更新文档

Mongodb 在mongoose中更新文档,mongodb,mongoose,Mongodb,Mongoose,在mongoose中更新文档 Model.findOne({_id: '123'}, function (err, doc) { // some conditions doc.body = 'body'; doc.update(); //update the doc in db }); 条件是复杂的内联表示,如MyModel.update({age:{$gt:18}},{oldwough:true},fn)如中所示 doc.update()不起作用。如何最有效地更新文档?您必须使

在mongoose中更新文档

Model.findOne({_id: '123'}, function (err, doc) {
  // some conditions 
  doc.body = 'body';
  doc.update(); //update the doc in db
});
条件是复杂的内联表示,如
MyModel.update({age:{$gt:18}},{oldwough:true},fn)如中所示


doc.update()不起作用。如何最有效地更新文档?

您必须使用更新来代替运行代码。原因是您完全不做任何事情(您没有指定需要更新哪些文档以及如何更新)


Save命令不会创建新元素,因为您不会更改元素的id(如果您在
//某些条件code
中未执行此操作)。因此,它只需使用该特定的
\u id

修改元素,您希望得到什么
doc.update()要做什么?既然没有传递任何参数,那么这不是一个no-op吗?我在前面的代码中做了更改//some conditions doc.body='body';我想运行命令,让
doc
反映数据库中文档的更改。然后您应该调用
doc.save()
。这将创建一条新记录。但我明白你的意思。谢谢你的意见