TypeError: mongodb.ObjectId不是构造函数



[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"})

相关内容

  • 没有找到相关文章

最新更新