Supprimer des documents MongoDB
Dans les chapitres précédents, nous avons appris comment ajouter des données à et mettre à jour des données dans des collections MongoDB. Dans ce chapitre, nous allons continuer à apprendre la suppression de collections MongoDB.
Les méthodes courantes de suppression de documents incluent deleteOne(), deleteMany() et findOneAndDelete().
Cas d'utilisation :
- Nettoyage des données: Supprimer les anciennes données ou les données invalides qui ne sont plus nécessaires.
- Correction des données: Supprimer les documents erronés ou en double lors de la correction des données.
- Tâches automatisées: Supprimer des documents selon des conditions spécifiques dans des scripts ou des tâches automatisés.
1、deleteOne()
La méthode deleteOne() est utilisée pour supprimer un seul document qui correspond au filtre.
Syntaxe :
db.collection.deleteOne(filter, options)
- filter: Les critères de requête utilisés pour trouver le document à supprimer.
- options: (Facultatif) Un objet de paramètres optionnel.
Exemple
Résultat renvoyé :
{
"acknowledged": true,
"deletedCount": 1
}
2、deleteMany()
La méthode deleteMany() est utilisée pour supprimer tous les documents qui correspondent au filtre.
Syntaxe :
db.collection.deleteMany(filter, options)
- filter: Les critères de requête utilisés pour trouver les documents à supprimer.
- options: (Facultatif) Un objet de paramètres optionnel.
Exemple
Résultat renvoyé :
{
"acknowledged": true,
"deletedCount": 1
}
3、findOneAndDelete()
La méthode findOneAndDelete() est utilisée pour trouver et supprimer un seul document, et peut éventuellement retourner le document supprimé.
Syntaxe :
db.collection.findOneAndDelete(filter, options)
- filter: Les critères de requête utilisés pour trouver le document à supprimer.
- options: Objet de paramètres optionnel, tel que
projection、sortetc.
Exemple
{ name: "Charlie" },
{ projection: { name: 1, age: 1 } }
);
findOneAndDelete renvoie le document supprimé ; si aucun document correspondant n'est trouvé, il renvoie null.
Options pour les opérations de suppression
Le paramètre options de ces méthodes de suppression peut généralement inclure les options suivantes :
- writeConcern: Spécifie le niveau d'acquittement pour l'opération d'écriture.
- collation: Spécifie la collation à utiliser lors de la comparaison de chaînes.
- projection(S'applique uniquement à
findOneAndDelete) : Spécifie les champs à renvoyer. - sort(S'applique uniquement à
findOneAndDelete) : Spécifie l'ordre de tri pour déterminer le document à supprimer.
Exemple
Supprimer un seul document :
db.myCollection.deleteOne({ name: "Alice" });
Supprimer plusieurs documents :
db.myCollection.deleteMany({ status: "inactive" });
Rechercher et supprimer un seul document :
db.myCollection.findOneAndDelete(
{ name: "Charlie" },
{ projection: { name: 1, age: 1 } }
);
Autres extensions