• 10 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.



J'ai tout compris !

Mis à jour le 21/02/2022

Expand the Back End's Delete Function

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Modify the DELETE Route

As a final touch to the file handling in your back end, make sure that whenever a  Thing  is deleted from the database, the corresponding image file also gets deleted.

In your  stuff  controller, import the Node  fs  package:

const fs = require('fs');

Now you can modify your  deleteThing()  function:

exports.deleteThing = (req, res, next) => {
Thing.findOne({_id: req.params.id}).then(
(thing) => {
const filename = thing.imageUrl.split('/images/')[1];
fs.unlink('images/' + filename, () => {
Thing.deleteOne({_id: req.params.id}).then(
() => {
message: 'Deleted!'
(error) => {
error: error

In this function:

  • Use the ID you receive as a parameter to access the corresponding  Thing  in the database.

  • Use the fact that you know there is an  /images/  segment in your image URL to separate the file name.

  • Then use the  fs  package's  unlink  function to delete that file, passing it the file to be deleted and the callback to be executed once that file has been deleted.

  • In the callback, implement the original logic, deleting the  Thing  from the database.

Your API can now successfully handle all CRUD operations containing files: when a user creates a new  Thing , updates an existing  Thing , or deletes a  Thing !

Let's Recap!

  • The built-in  fs  package exposes methods for interacting with the server's file system.

  • fs'  unlink()  method lets you delete a file from the file system.

What You've Learned in This Course

You're nearly finished. Well done!

Let's have a look at what you've learned:

Exemple de certificat de réussite
Exemple de certificat de réussite