Dans MongoDB, le db.collection.deleteOne()
La méthode supprime un seul document d'une collection. En d'autres termes, il le supprime.
La collection
part est le nom de la collection avec laquelle supprimer le document.
Exemple
Remplissons une collection appelée employees
avec cinq documents :
db.employees.insertMany([
{ _id: 1, name: "Sandy", salary: 55000 },
{ _id: 2, name: "Sarah", salary: 128000 },
{ _id: 3, name: "Fritz", salary: 25000 },
{ _id: 4, name: "Chris", salary: 45000 },
{ _id: 5, name: "Beck", salary: 82000 }
])
Utilisons maintenant db.collection.deleteOne()
pour supprimer l'un de ces documents.
db.employees.deleteOne({ "_id": 4 })
Résultat :
{ "acknowledged" : true, "deletedCount" : 1 }
Cela a supprimé le numéro d'employé 4.
Jetons un coup d'œil à la collection pour vérifier.
db.employees.find()
Résultat :
{ "_id" : 1, "name" : "Sandy", "salary" : 55000 } { "_id" : 2, "name" : "Sarah", "salary" : 128000 } { "_id" : 3, "name" : "Fritz", "salary" : 25000 } { "_id" : 5, "name" : "Beck", "salary" : 82000 }
Nous pouvons voir que l'employé numéro 4 n'existe plus dans la collection.
Utiliser une condition plus large
Dans l'exemple précédent, nous avons utilisé le _id
champ de l'employé que nous voulions supprimer. Parce que le _id
champ est l'identifiant unique pour chaque document, cela nous a permis de supprimer le document exact que nous voulions supprimer.
Il est également possible de supprimer un seul document sans être aussi précis sur celui qui est supprimé. Par exemple, vous pouvez utiliser un filtre large qui renvoie de nombreux documents, mais ne supprime que le premier document de ces résultats.
Par exemple, nous pourrions filtrer par employés qui gagnent plus de 80 000 par an, puis supprimer le premier document de ce groupe.
db.employees.deleteOne({ "salary": { $gt: 80000 } })
Résultat :
{ "acknowledged" : true, "deletedCount" : 1 }
Dans cet exemple, un seul document a été supprimé, même si deux documents correspondaient aux critères.
Nous pouvons jeter un œil à la collection pour voir laquelle a été supprimée.
db.employees.find()
Résultat :
{ "_id" : 1, "name" : "Sandy", "salary" : 55000 } { "_id" : 3, "name" : "Fritz", "salary" : 25000 } { "_id" : 5, "name" : "Beck", "salary" : 82000 }
Nous pouvons même aller plus loin et supprimer tous les filtres, ce qui signifie qu'il choisit parmi tous les documents de la collection.
db.employees.deleteOne({})
Résultat :
{ "acknowledged" : true, "deletedCount" : 1 }
Une fois de plus, nous pouvons vérifier la collection pour voir laquelle a été supprimée.
db.employees.find()
Résultat :
{ "_id" : 3, "name" : "Fritz", "salary" : 25000 } { "_id" : 5, "name" : "Beck", "salary" : 82000 }
Comme prévu, le premier document a été supprimé.
Plus d'informations
Le db.collection.deleteOne()
la méthode accepte également des paramètres optionnels tels que collation
, hint
, et writeConcern
.
Consultez la documentation MongoDB pour plus d'informations.