MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

MongoDB deleteOne()

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.