如何在node_js和mongodb中使用_id更新数据

时间:2019-04-26 06:53:47

标签: node.js mongodb mongodb-query mongodb-.net-driver nodejs-server

我尝试使用node js和mongodb进行crud操作。所有crud操作都可以正常工作,期望更新方法正常。我尝试查找和更新方法,但显示错误,如何解决。

更新的方法

db.collection('Ecommerce').updateOne({ _id:new ObjectId(req.params.id)},{ $set: req.body});

我试图运行以显示此类型错误如何解决。
MongoError:在路径“ _id”上执行更新将修改不可变字段“ _id”

1 个答案:

答案 0 :(得分:0)

您的请求正文还包含_id,这是mongo的不可变字段。您需要在请求正文中将其删除

delete req.body._id;
db.collection('Ecommerce')
    .updateOne(
        { _id:new ObjectId(req.params.id) },
        { $set: req.body }
    );