MongoDB/ExpressJS——当ObjectID包含在变量中时,通过_id删除文档

MongoDB/ExpressJS -- remove document by _id when ObjectID is contained in a variable

本文关键字:通过 id 文档 删除 变量 ExpressJS ObjectID 包含 MongoDB      更新时间:2023-09-26

以下是我要做的:

app.delete('/:id', function(req, res){
  var removal = req.params.id;
  MongoClient.connect(dbUrl, function(err, db){
    var test = db.collection('test');
    test.remove({ _id: ObjectId(removal) });
  });
});

但当我尝试这样做时,它会抛出一个错误,因为没有定义ObjectId。我用这个有点麻烦,因为当我使用物品时_在我的Jade视图中,它只返回数字,但在查询集合时当然不会只返回数字。

你把ObjectId定义为函数了吗?

尝试:

var ObjectId = require('mongodb').ObjectId;

(与引用MongoClient的方式相同)