2016-10-12 4 views
1

У меня есть идентификация печати в контроллере от клиента. Теперь я хочу удалить этот документ из mongodb с помощью кода ниже, не обнаруживает никаких ошибок, но даже не удаляет документ из коллекции. Как я могу удалить документ с помощью _id?Как удалить документ из коллекции в mongodb?

controller.js

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

ответ

2

Я не уверен, является ли diagram ваша модель здесь, попробовать с вашей моделью, потому что я не вижу, что вы получаете документ с помощью find or findOne метода, на котором вы можете применить remove метод.

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 мог сообщить вам, когда он удалил ваш документ ... в ваш callback и pas на следующую операцию ... – Thalaivar

+0

@hussain: Помогло ли это? – Thalaivar

Смежные вопросы