[Code: app.post('/update-item',function(req,res){]db.collection("项目")。findOneAndUpdate({_id: new mongodb.ObjectId(req.body.id)}, {$set: {text: req.body。Text}}, function (req,res) {res.send("Success"
})] [1]
你的代码对我来说有点偏离,我会这样处理:
const MyModel = require('<PATH_FOR_YOUR_MODEL>');
app.post("/update-item", async (req,res)){
const id = req.body.id
const text = req.body.text
await MyModel findByIdAndUpdate(id, text);
res.status(200).send('Success');
}
我在brad schiff的《Learn JavaScript: Full-Stack from Scratch》课程中遇到了同样的问题。问题似乎是文件顶部的这行代码:
let mongodb = require('mongodb');
这似乎是不够的,我通过添加下面的行来修复它:
let mongoObjectId = require('mongodb').ObjectId;
并使用mongoobjid而不是mongodb。ObjectId(在你的代码中把这两个相互更改)
我还将第一行更改为:
let mongodb = require('mongodb').MongoClient;
,因为它之前引起了一些其他错误;
首先在顶部声明ObjectId !!
const ObjectId = require('mongodb')。ObjectId
,然后,使用变量ObjectId代替mongodb。ObjectId ! !
,
db.collection("项目")。findOneAndUpdate({_id: new ObjectId(req.body.id)}, {$set: {text: req.body.text}}, function () {res.send("Success"})