使用Mongoose JS,并尝试更新MongoDB数据存储区中的字段;我很难理解为什么会这样:
MyModel
.findByIdAndUpdate( req.params.id, field: someValue )
.exec () ->
...callback
但以下不有效吗?即使用find / where + update。
MyModel
.findOne( _id: req.params.id )
.update( field: someValue )
.exec () ->
...callback
OR
MyModel
.where( _id: req.params.id )
.update( field: someValue )
.exec () ->
...callback
真让我挠挠脑袋!
答案 0 :(得分: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);
});