11.5. Suppression de documents dans MongoDB : suppression de documents avec conditions
11.5. Suppression de documents dans MongoDB : suppression de documents avec conditions
L'une des opérations les plus critiques de tout système de gestion de base de données est la suppression de documents. Dans MongoDB, ce n'est pas différent. La suppression de documents est une tâche qui doit être effectuée avec beaucoup de soin, car une fois supprimé, un document ne peut plus être récupéré. Dans cette section, nous verrons comment supprimer des documents dans MongoDB avec des conditions.
MongoDB propose deux méthodes pour supprimer des documents d'une collection : deleteOne()
et deleteMany()
. Les deux méthodes acceptent un objet condition comme argument. Cet objet condition est similaire à celui que nous utilisons dans l’opération de recherche. Il précise les conditions que les documents doivent remplir pour être supprimés.
Suppression de documents avec conditions à l'aide de deleteOne()
La méthode deleteOne()
supprime le premier document qui correspond à la condition spécifiée. Par exemple, si nous voulons supprimer un document dont le champ 'nom' est 'John', nous pouvons le faire comme suit :
db.collection('users').deleteOne({ nom : 'John' });
Cette commande supprimera le premier document de la collection 'users' où le champ 'name' est 'John'. Si plusieurs documents remplissent cette condition, seul le premier sera supprimé.
Suppression de documents avec conditions à l'aide de deleteMany()
La méthode deleteMany()
supprime tous les documents qui correspondent à la condition spécifiée. Par exemple, si nous voulons exclure tous les documents dont le champ 'âge' est inférieur à 18 ans, nous pouvons procéder comme suit :
db.collection('users').deleteMany({age: { $lt: 18 } });
Cette commande supprimera tous les documents de la collection 'users' où le champ 'age' est inférieur à 18. Contrairement à la méthode deleteOne()
, la méthode deleteMany() code> ne s'arrête pas après la suppression du premier document qui remplit la condition. Il continue de parcourir la collection jusqu'à ce que tous les documents répondant à la condition soient supprimés.
Suppression de documents présentant des conditions complexes
Les conditions de suppression de documents ne doivent pas nécessairement être simples. Nous pouvons spécifier des conditions complexes à l'aide d'opérateurs logiques et de comparaison. Par exemple, si nous voulons exclure tous les documents dont le champ « âge » est inférieur à 18 ans et dont le champ « pays » est « USA », nous pouvons procéder comme suit :
db.collection('users').deleteMany({ âge : { $lt : 18 }, pays : 'USA' });
Cette commande supprimera tous les documents de la collection « utilisateurs » où le champ « âge » est inférieur à 18 ans et le champ « pays » est « États-Unis ». Les conditions sont évaluées ensemble, ce qui signifie qu'un document doit remplir toutes les conditions pour être supprimé.
Conclusion
La suppression de documents est une opération critique qui doit être effectuée avec soin. Dans MongoDB, nous pouvons supprimer des documents en utilisant les méthodes deleteOne()
et deleteMany()
, qui acceptent un objet condition comme argument. Les conditions peuvent être simples ou complexes, selon les besoins de notre application.
Répondez maintenant à l’exercice sur le contenu :
Quelle est la différence entre les méthodes deleteOne() et deleteMany() dans MongoDB ?
Tu as raison! Félicitations, passez maintenant à la page suivante
Vous avez raté! Essayer à nouveau.
Page suivante de lebook gratuit :