Javascript Remove()在mongodb中不起作用?
我执行了restful删除以按id删除记录。。它没有返回任何错误,但未在我的收藏中删除该记录 我的路线Javascript Remove()在mongodb中不起作用?,javascript,node.js,mongodb,Javascript,Node.js,Mongodb,我执行了restful删除以按id删除记录。。它没有返回任何错误,但未在我的收藏中删除该记录 我的路线 app.delete('/api/genres/:id',function(req,res){ var id = req.params._id; var genre = req.body; Genres.deleteGenre(id, function(err,genre){ if(err){ throw err;
app.delete('/api/genres/:id',function(req,res){
var id = req.params._id;
var genre = req.body;
Genres.deleteGenre(id, function(err,genre){
if(err){
throw err;
}
res.json(genre)
})
});
我的模型(我用的是猫鼬)
它甚至返回ok状态,并显示
{"ok":1,"n":0}
您不需要在var genre=req.body中获取任何内容
试试这个
快乐编码 首先使用findById获取文档,然后您将能够删除它们
Genre.findById(req.params.id, function(err, genre){
if(err) { return res.send(500, err); }
genre.remove(function(err){
if(err) { return res.send(500, err); }
return res.send(204);
});
});
这个id是ObjectId还是什么?你有正确的id吗?var id=req.params.\u id应该是var id=req.params.id,不带下划线?@korven不,我可以通过正确的idOf课程。MongoDB是著名的WORM数据库的典型例子。“记录”一经写入就无法修改。因为写操作是一种修改,所以您在这里运气不好再次严肃起来:当然,一般来说,这会减少工作量。下次您可能想选择一个更合适的标题。路径iduse req.params.id处的值“[object object]”转换为objectId失败,请使用req.params.id代替req.params。\u idew这是一个输入错误!我现在疯了!
app.delete('/api/genres/:id',function(req,res){
var id = req.params.id;
Genres.deleteGenre(id, function(err,genre){
if(err){
throw err;
}
res.json(genre)
})
});
//Delete Genre
module.exports.deleteGenre = function (id, callback) {
var query = {_id: id};
//use this to findByIdAndRemove in mongoose, it will work
Genre.findByIdAndRemove(query, callback);
}
Genre.findById(req.params.id, function(err, genre){
if(err) { return res.send(500, err); }
genre.remove(function(err){
if(err) { return res.send(500, err); }
return res.send(204);
});
});