2017-02-13 54 views
0

我在尝试从我正在处理的API项目中创建的mongo数据库中删除字段时收到错误。我对于RESTful API以及MongoDB和Express仍然非常陌生。我在Youtube上跟随了一个教程,解释了制作这样一个API的步骤,所以我做了一切并且一切都很完美。现在我试图用我自己的自定义字段来重现这个API。无法删除错误CRUD API(NodeJS,MongoDB,Express)

基本上我的数据库现在填充了两个元素。我已经创建了get,add和update方法,可以正常工作。这里是获取方法的响应:

[{"_id":"58a112564cb325769b9d90de","name":"John Doe","caption":"I like pizza","friends":["id1","id2","id3"],"schedule":[[13,14],[14,15.5]]},{"_id":"58a1178da52bfc07fd25ce3f","name":"Carla Doe","caption":"I hate pizza","__v":0,"friends":null,"schedule":null}] 

现在有一个问题的功能是删除功能。我似乎无法找到可能有什么问题。它与前面提到的Youtube教程完全相同。我已经检查过一百次,没有任何字符错误或丢失。

这是我在邮递员得到错误:

Cannot DELETE /api/clients/58a1178da52bfc07fd25ce3f 

这里是server.js部分:

// Delete client 
app.delete('api/clients/:_id', function(req, res){ 
    var id = req.params._id; 
    Client.deleteClient(id, function(err, client){ 
     if(err){ 
      throw err; 
     } 
     else { 
      res.json(client); 
     } 
    }); 
}); 

这里是clients.js部分:

// Delete Clients 
module.exports.deleteClient = function (id, client, callback) { 
    var query = {_id: id}; 
    Client.remove(query, client, callback); 
}; 

我不知道我是否向您提供解决问题所需的全部信息。我不能因为我的爱而发现它来自哪里。

期待阅读您的答案。

+0

'deleteClient'需要3个PARAMS - 你只把它传递2 – tymeJV

+0

请添加关于您正在使用的MongoDB库的信息。也正如前面提到'deleteClient'需要3个参数,你正在传递2 – necromos

+0

我正在使用猫鼬。关于3个参数,这可能是问题,但我只在前一个API中通过了两个,并且它工作了......我会研究它。 – YT98

回答

1

我认为一个 '/' 之前 '/ API /客户/:_ ID' 失踪

它应该是:

app.delete('/api/clients/:_id', function(req, res) 
+0

就是这样......我无法相信自己没有看到这件事,非常感谢你。 – YT98