2016-10-12 70 views
1

我有id從客戶端打印到控制器中現在我想從mongodb中刪除這個文件,下面的代碼不顯示任何錯誤,但是甚至沒有從集合中刪除文件,我如何使用_id刪除文件?如何從mongodb的集合中刪除文檔?

controller.js

var Diagram = { 
    remove: function(id, res) { 
     console.log('deletecontroller', id); 
     diagram.remove({ 
      _id: id 
     }); 
    } 
} 
module.exports = Diagram; 

回答

2

我不知道是否diagram是你的模型在這裏,嘗試用你的模型,因爲我沒有看到你是通過在其上可以應用removefind or findOne方法得到一個文件方法。

Model.remove({ _id: id}, function(err){}); 

或者你也可以找到並刪除:

Model.findOne({_id: id}, function (error, daigram){ 
    daigram.remove(); 
}); 

您也可以使用最新版本:

MyModel.findOneAndRemove({_id: id}, function(err){...}); 
+0

非常感謝第一個工作對我來說只是爲了瞭解爲什麼需要回調刪除文件。 – hussain

+0

http://mongoosejs.com/docs/api.html#model_Model.remove,你需要兩個參數......並且你需要回調以便nodejs可以在你刪除文檔時通知你... in你的回調,並採取其下一個操作... – Thalaivar

+0

@ hussain:有幫助嗎? – Thalaivar

相關問題