2017-02-13 58 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