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

MongoDB supprimer ()

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.