Delete document using findOneAndRemove Mongoose

user2175731 picture user2175731 · Mar 24, 2014 · Viewed 52.4k times · Source

I am receiving this error when trying to delete a document from the database:

Cannot GET /delete/532fa5e56f885c7fec5223b1fds

How can I successfully delete the document?

app.js

//Delete 
app.del('/delete/:id', routes.delete_offer);

routes/index.js

    //Delete
    exports.delete_offer = function (req,res){
      Offer.findOneAndRemove({'_id' : req.params.id}, function (err,offer){
        res.redirect('/newsfeed');
      });
    };

views/dashboard.jade

        - each offer in offers
            div.offer.row
                a(href="/offer/" + offer._id)
                    div.columns
                        div.sell_type
                            p=offer.type
                    div.small-8.columns.sell_info
                        p.sell_price="$" + offer.fixedPrice() + " "
                        p.sell_location="@ " + offer.location + " ›"
                    div.small-4.columns.sell_pic
                        p=offer.user_id
                a.delete(href="/delete/" + offer._id)="Delete Offer"

Answer

John Waweru picture John Waweru · Jun 18, 2015

The HTTP verb your using is not correct use app.delete("/delete/:id", routes.delete_offer);

I think that should work. Cause I don't think there is no del method in the HTTP verb for express.js framework it mostly GET, POST, PUT, DELETE plus a few others.