【问题标题】:how to delete document from collection in mongodb?如何从mongodb的集合中删除文档?
【发布时间】:2017-02-21 18:35:02
【问题描述】:

我在客户端的控制器中打印了 id 现在我想从 mongodb 中删除这个文档,下面的代码没有显示任何错误,但甚至没有从集合中删除文档,我如何使用_id 删除文档?

controller.js

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

【问题讨论】:

    标签: node.js mongodb mongoose


    【解决方案1】:

    我不确定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){...});
    

    【讨论】:

    • 非常感谢第一个为我工作的人,只是为了了解为什么需要回调来删除文档。
    • mongoosejs.com/docs/api.html#model_Model.remove,你需要两个参数......而且你需要一个回调,以便nodejs可以在它删除你的文档时通知你......在你的回调中并传递给它下一个操作...
    • @hussain:有帮助吗?
    • 感谢您的解释,这绝对有助于理解回调。
    • 此链接还将帮助您了解何时要删除引用...一对一、一对多和多对多...stackoverflow.com/questions/32674280/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多