2014-01-10 215 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