如何通过id删除BongoDB文档?

时间:2017-03-14 13:30:46

标签: javascript angularjs node.js mongodb

我试图通过_id删除文档,但是当我点击按钮时,控制台会显示

  

无法加载资源:服务器响应状态为500(内部服务器错误)

我该如何解决?

My Node.js代码:

//delete
app.post('/delete', function (res, req) {
    MongoClient.connect(url, function (err, db) {
        db.collection('Candidator', {}, function (err, user) {
            user.remove({ _id: req.body.item_id }, function (err, result) {
                if (err) {
                    console.log(err);
                }
                console.log(result);
                db.close();
            });
        });
    });
});

我的HTML:

<body ng-controller="myctrl">
  <div>
    <div>
      <div ng-repeat="item in Candidator">
        <b>Email :</b> <br />
        {{item.Email}}<br />
        <b>Nom :</b> <br />
        {{item.Name}}<br />
        <b>Prenom :</b> <br />
        {{item.Prenom}}<br />
        <button>Update</button><button ng-click="delete(item._id)">Delete</button><br />
        <hr />
      </div>
    </div>
  </div>

1 个答案:

答案 0 :(得分:0)

您没有检查错误,因此不要指望您的代码能够正常运行。我可以将错误检查代码放到您的示例中,但由于您将编辑器的屏幕截图作为图像发布,因此我必须使用photoshop,显然这不值得。

检查您的错误,不要在每个请求上创建新的Mongo连接!这太疯狂了。你为什么要这么做?您应该建立一次连接并在所有应用程序中重复使用它。有关详细信息,请参阅这些答案:

我是否提到你应该检查错误?

每500次错误是由于没有正确处理错误引起的。每当你看到任何函数的err参数时,它应该以{{1​​}}开头,否则你只会尝试使用不在那里的值并在这种情况下崩溃一切。检查错误。总是。严重。