Reputation: 78
Keep getting this error but can't figure out what is wrong with my delete function. "Route.delete() requires a callback function but got a [object Undefined]"
const playerController = {
index: (request, response) => {
Player.find({})
.then(player => response.json(player))
.catch(error => console.log(error));
},
create: (request, response) => {
Player.create(request.body)
.then(player => response.json(player))
.catch(error => console.log(error));
},
delete: (request, response) => {
Player.remove(request.params.id)
.then(player => response.json(player))
.catch(error => console.log(error));
//console.log('node function');
}
};
//- - - - = = = = Routes = = = = - - - -
app.get('/players', playerController.index);
app.post('/players', playerController.create);
app.delete('/players/:id', playerController.destroy);
app.all("*", (request, response) => { response.sendFile(path.resolve("./manager/dist/index.html")) });
Upvotes: 0
Views: 1562
Reputation: 707426
OK, to wrap this up, there were two issues here:
You were using .playerController.destroy
when you should have been using playerController.delete
.
To remove your item by id, you should be using Player.findByIdAndRemove()
.
Upvotes: 1