在express js中通过id删除mongodb文档

ela*_*adr 4 mongodb node.js express

我正在为此纠结……试图通过 id 删除文档:

router.delete('/api/menu/delete/:id', function (req, res) {
  var id = req.params.id;
  db.get().collection('menu', function (err, col) {
   col.deleteOne({_id: new mongodb.ObjectID(id)});
  });
  res.json({ success: id })
});
Run Code Online (Sandbox Code Playgroud)

总是得到:

Cannot read property deleteOne of undefined
Run Code Online (Sandbox Code Playgroud)

尝试查找记录时,它按预期工作。

ela*_*adr 9

知道了。首先我需要mongodb

mongo = require('mongodb')
Run Code Online (Sandbox Code Playgroud)

进而 :

router.delete('/api/menu/delete/:id', function (req, res) {
  var id = req.params.id;
  var collection = db.get().collection('menu');

  collection.deleteOne({ _id: new mongo.ObjectId(id) }, function (err, results) {
  });

  res.json({ success: id })
});
Run Code Online (Sandbox Code Playgroud)