2017-03-14 91 views
-2

我试图通过其_id删除文件,但是当我点击该按钮时,控制台显示如何通过ID删除BongoDB文档?

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

回应

我该如何解决这个问题?

我的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> 
+6

请不要放置代码的截图。将代码复制/粘贴到您的问题中。 –

+2

[按ID删除记录?]的可能重复(http://stackoverflow.com/questions/12901593/remove-record-by-id) –

回答

0

你不检查你的错误,所以不要指望你的代码工作。我可以把错误检查代码放到你的例子中,但是因为你把你的编辑器的截图作为一个图像发布了,所以我不得不使用photoshop来做这件事,显然这是不值得的。

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

和我提到你应该检查错误?

每500个错误是由不正确处理错误造成的。每当您看到任何函数的参数err时,它应该以if (err) { ... }开头,否则您只会尝试使用不存在的值,并像本例一样崩溃。检查错误。总是。认真。