2014-01-10 158 views
0

我正在使用nodejs,express和mongodb作为博客,我想通过id删除文档。例如,删除一个ID为52976b1b0855c7e81a6192e9的博客文章,我会编写localhost:3000/blog/delete/52976b1b0855c7e81a6192e9,然后我被路由到一个确认页面。这一切工作成功地在客户端上,但文件不会从数据库中再次通过ID删除MongoDB文档

app.get('/blog/delete/:id', function(req, res) { 
articleProvider.deleteById(req.params.id, function(error, article) { 
    if (error) callback(error) 
     else { 
     res.render('confirmation.jade') 
     } 
    }) 
}); 

ArticleProvider.prototype.deleteById = function(id, callback) { 
    this.getCollection(function(error, article_collection) { 
    if (error) callback(error) 
     else { 
     article_collection.remove({_id: article_collection.db.ObjectID}, function(error, result) { 
      if(error) callback(error) 
      else callback(null, result) 
     }); 
     } 
    }); 
}; 

感谢去除。

+0

尝试记录'article_collection.db.ObjectID'并看看你得到了什么 – dcodesmith

+0

一旦你得到它的工作,我强烈建议你改变从app.get()到app.post() )。建议不要将HTTP GET用于更改/删除数据的操作。 –

回答

0

也许你需要将你的ID转换为合适的ObjectId