11.10 Suppression de documents dans MongoDB : Récupération de documents supprimés
MongoDB est un système de base de données NoSQL orienté document qui offre des performances élevées, une haute disponibilité et une évolutivité facile. Il fonctionne avec le concept de collections et de documents, au lieu du modèle relationnel traditionnel des tables et des enregistrements. Dans cette section, nous verrons comment supprimer des documents dans une base de données MongoDB et comment récupérer ces documents supprimés.
Supprimer des documents dans MongoDB
Pour supprimer des documents dans une base de données MongoDB, nous utilisons la méthode remove()
. Cette méthode supprime les documents d'une collection. La syntaxe de base de remove()
est db.COLLECTION_NAME.remove(DELLETION_CRITTERIA)
.
Considérons la collection suivante « étudiants »
Pour supprimer ce document, nous pouvons utiliser la commande suivante :
Cette commande supprime le document dont le champ « nom » est « John Doe ». S'il y avait plusieurs documents portant le nom « John Doe », ils seraient tous supprimés car nous n'avons spécifié aucun critère pour le _id.
Récupération de documents supprimés
Une fois qu'un document est supprimé de MongoDB, il est définitivement supprimé et ne peut pas être récupéré. Par conséquent, il est important de vous assurer que vous souhaitez réellement supprimer un document avant de le faire.
Cependant, il existe certaines stratégies que vous pouvez utiliser pour récupérer des documents supprimés :
1. Sauvegardes régulières
Le moyen le plus efficace de vous protéger contre la perte de données consiste à effectuer des sauvegardes régulières de votre base de données. MongoDB propose plusieurs stratégies de sauvegarde, notamment mongodump, les sauvegardes d'instantanés de fichiers et les sauvegardes dans le cloud. En effectuant des sauvegardes régulières, vous pouvez restaurer votre base de données à un état antérieur et récupérer les documents supprimés.
2. Journalisation
MongoDB prend en charge la journalisation, qui écrit les opérations de modification de données sur le disque avant qu'elles ne soient appliquées à la base de données. Si un document est supprimé, vous pourrez peut-être le récupérer à l'aide du journal. Cependant, cela n'est possible que si le document a été récemment supprimé et que le journal n'a pas encore été écrasé.
3. Suppression logicielle
Une autre stratégie consiste à utiliser une « suppression logicielle », dans laquelle vous ne supprimez pas réellement le document, mais le marquez comme supprimé. Par exemple, vous pouvez ajouter un champ « supprimé » au document et définir sa valeur sur « vrai » lorsque le document est supprimé. Pour récupérer le document, il vous suffit de réinitialiser la valeur de « supprimé » à « false ».
En conclusion, supprimer des documents dans MongoDB est une opération simple, mais les récupérer peut s'avérer compliqué. C'est pourquoi il est si important d'avoir une stratégie de sauvegarde efficace et d'envisager d'utiliser des techniques telles que la journalisation et la suppression logicielle.