我正在拉我的头发......试图通过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 })
});
总是得到:
Cannot read property deleteOne of undefined
当试图查找记录时,它按预期工作。
答案 0 :(得分:2)
知道了。 首先我需要mongodb
mongo = require('mongodb')
然后:
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 })
});
答案 1 :(得分:0)
错误表明col未定义。 可能你是以错误的方式获得该集合。如果您使用的是官方mongo驱动程序,请尝试通过createCollection更改方法集合,如下所示:
router.delete('/api/menu/delete/:id', function (req, res) {
var id = req.params.id;
db.get().createCollection('menu', function (err, col) {
col.deleteOne({_id: new mongodb.ObjectID(id)});
});
res.json({ success: id })
});