Dans MongoDB, le db.collection.remove()
La méthode supprime les documents d'une collection. En d'autres termes, il les supprime.
La collection
part est le nom de la collection avec laquelle supprimer les documents.
Vous pouvez supprimer tous les documents, certains documents ou un seul document selon vos besoins.
Supprimer tous les documents
Dans cet exemple, nous supprimons tous les documents d'une collection appelée employees
:
db.employees.remove({})
Résultat :
WriteResult({ "nRemoved" : 5 })
Le résultat nous montre que cinq documents ont été supprimés.
Supprimer les documents sélectionnés
Dans cet exemple, nous ne supprimons que certains documents.
Tout d'abord, remplissons à nouveau notre collection d'employés :
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 }
])
Maintenant, supprimons tous les employés qui gagnent plus de 80 000 par an.
db.employees.remove({ "salary": { $gt: 80000 } })
Résultat :
WriteResult({ "nRemoved" : 2 })
Cette fois, seuls deux documents ont été supprimés.
Jetons un coup d'œil à la collection.
db.employees.find()
Résultat :
{ "_id" : 1, "name" : "Sandy", "salary" : 55000 } { "_id" : 3, "name" : "Fritz", "salary" : 25000 } { "_id" : 4, "name" : "Chris", "salary" : 45000 }
Comme prévu, les deux meilleurs salariés ont quitté l'entreprise.
Supprimer un document
Il existe plusieurs façons de supprimer un seul document d'une collection. La méthode que vous utiliserez dépendra de ce que vous devez faire.
Vous pouvez soit :
- Supprimer un document spécifique
- Utilisez le
justOne
paramètre
Supprimer un document spécifique
Si vous devez supprimer un document spécifique, vous pouvez spécifier le _id
du document valeur pour supprimer ce document spécifique.
Donc, si nous voulions supprimer, par exemple, Fritz de la collection ci-dessus, nous pourrions spécifier son _id
valeur de 3
. Comme ceci :
db.employees.remove({ "_id": 3 })
Résultat :
WriteResult({ "nRemoved" : 1 })
Et vérifions à nouveau la collection :
db.employees.find()
Résultat :
{ "_id" : 1, "name" : "Sandy", "salary" : 55000 } { "_id" : 4, "name" : "Chris", "salary" : 45000 }
Comme prévu, Fritz a maintenant disparu.
Utilisez le justOne
Paramètre
Vous pouvez également utiliser le justOne
paramètre pour limiter la suppression à un seul document. Cela supprime le premier document qui correspond aux critères de suppression.
Pour démontrer ce point aussi clairement que possible, supprimons tous les documents restants de la collection, puis repeuplons-la :
db.employees.remove({})
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 }
])
OK, nous savons donc qu'il y a cinq documents dans notre collection.
Utilisons maintenant le justOne
paramètre pour supprimer un seul document.
db.employees.remove({}, "justOne: true")
Résultat :
WriteResult({ "nRemoved" : 1 })
Et vérifions la collection pour voir quel document a été supprimé.
db.employees.find()
Résultat :
{ "_id" : 2, "name" : "Sarah", "salary" : 128000 } { "_id" : 3, "name" : "Fritz", "salary" : 25000 } { "_id" : 4, "name" : "Chris", "salary" : 45000 } { "_id" : 5, "name" : "Beck", "salary" : 82000 }
Comme prévu, le premier document a été supprimé.
Le justOne
Le paramètre a également une autre syntaxe. Vous pouvez également l'utiliser dans un document. Vous devrez le faire si vous voulez passer d'autres arguments à la méthode.
Voici un exemple.
db.employees.remove(
{},
{
justOne: true,
writeConcern: { w: "majority", wtimeout: 3000 },
collation: { locale: "de", strength: 1 }
}
)
Résultat :
WriteResult({ "nRemoved" : 1 })
Et revoyons la collection
db.employees.find()
Résultat :
{ "_id" : 3, "name" : "Fritz", "salary" : 25000 } { "_id" : 4, "name" : "Chris", "salary" : 45000 } { "_id" : 5, "name" : "Beck", "salary" : 82000 }
Comme prévu, le document suivant a été supprimé.
Plus d'informations
Consultez la documentation MongoDB pour plus d'informations.