2

使用 Mongoose JS,并尝试更新我的 MongoDB 数据存储中的字段;我很难理解为什么会这样:

MyModel
    .findByIdAndUpdate( req.params.id, field: someValue )
    .exec () -> 
         ...callback

但是以下不起作用?即使用查找/位置+更新。

MyModel
    .findOne( _id: req.params.id )
    .update( field: someValue )
    .exec () ->
         ...callback

或者

MyModel
    .where( _id: req.params.id )
    .update( field: someValue )
    .exec () ->
         ...callback

真的让我摸不着头脑!

4

1 回答 1

0

这可能是由于 mongoose findOne() 返回文档但您无法对其进行操作,您需要将其转换为 javascript 对象,然后将其传递给更新函数。

但是您可以使用以下方法来更新文档

您也可以参考 mongoose 文档。

http://mongoosejs.com/docs/api.html#model_Model.findByIdAndUpdate

Model.findById(id, function (err, doc) {
   if (err) { return err;}
  doc.name = 'jason bourne';
  doc.save(callback);
});
于 2017-10-31T12:17:06.560 回答