猫鼬404使用_id从集合中删除对象时

时间:2020-06-01 09:20:53

标签: node.js angular mongodb mongoose

我在猫鼬api上有一个奇怪的行为,该对象从集合中删除了对象。

我调用一个通过id作为参数的api(我检查并且ID存在), 但我得到的是响应404。

此处是我如何使用角度服务调用api:

  private deleteInvoice = 'http://localhost:3000/api/elimina_fattura';    

 deleteInvoices(id){
   let headers = new Headers();
   headers.append('Content-Type', 'application/json');
   return this.http.post(this.deleteInvoice+'/'+id, {headers: headers})
   .map((response: Response) => response.json())    
 }

此处是猫鼬中定义的api

app.delete('/api/elimina_fattura/:id',(req,res)=>{
Fatture.remove({_id: req.params.id})
.then(()=>{
    res.json({'status':'ok'});
 })
 .catch((err)=>{
    res.json(err);
});
});

此处是我调用api时的消息

enter image description here

我尝试在robomongo中执行相同的查询,并且似乎正常工作

enter image description here

1 个答案:

答案 0 :(得分:2)

我可以在前端看到您提到了请求类型POST,尝试将其更改为DELETE

 deleteInvoices(id){
   let headers = new Headers();
   headers.append('Content-Type', 'application/json');
   return this.http.delete(this.deleteInvoice+'/'+id, {headers: headers}) // changed HTTP method
   .map((response: Response) => response.json())    
 }