MongoDB -Daten löschen

MongoDB -Daten löschen
Wie bei jeder normalen Datenbankoperation werden Sie auf Fälle stoßen, in denen Sie Daten aus einer bestimmten Sammlung entfernen müssen. Zum Glück bietet uns MongoDB einfache und intuitive Befehle, um solche Aufgaben zu erledigen.In diesem Beitrag werden wir diskutieren, wie Sie eine einzelne oder mehrere Dokumente aus einer MongoDB -Sammlung löschen können.

MongoDB Dokumente löschen

Mit Mongo Shell können wir zwei Hauptmethoden verwenden, um Dokumente aus einer bestimmten Sammlung zu entfernen. Diese Methoden sind wie folgt:

  1. db.Sammlung.Deleteone () -Aufwerte, um ein einzelnes Dokument aus einer Sammlung zu entfernen, die auf einem bestimmten Filter basiert.
  2. db.Sammlung.Deletemany () -Removes Mehrere Dokumente aus einer Sammlung, die einem bestimmten Muster entspricht.

In diesem Tutorial verwenden wir den in der folgenden Ressource angegebenen Netflix -Datensatz für Abbildungszwecke.

https: // www.Kaggle.com/datasets/shivamb/netflix-shows

MongoDB DB.Sammlung.Deleteone ()

Der folgende Ausschnitt zeigt die Syntax für die MongoDB Deleteone () -Methode:

db.Sammlung.deleteone (
,

WriteConcern: ,
Kollation: ,
Hinweis:

)

Die Methode Deleteone () entfernen das erste Dokument, das mit der angegebenen Filterbedingung übereinstimmt.

Angenommen, wir möchten das unten angegebene Dokument entfernen:


"_id": ObjectID ("631f41eeecaffa1f860a597"),
"show_id": "s33",
"Typ": "TV -Show",
"Titel": "Sexualerziehung",
"Cast": "Asa Butterfield, Gillian Anderson, Ncutigatwa, Emma Mackey, Connor Swindells, Kedar Williams-Stirling, Alistair Petrie",
"Land": "Vereinigtes Königreich",
"Date_Added": "17. September 2021",
"Release_year": "2020",
"Bewertung": "tv-ma",
"Dauer": "3 Jahreszeiten",
"Listed_in": "Britische Fernsehsendungen, internationale Fernsehsendungen, TV -Komödien",
"Beschreibung": "Unsicheres Otis hat alle Antworten, wenn es um Sexual Ratschläge geht, dank seiner Therapeutenmutter. Deshalb schlägt Rebel Maeve eine schulische Sex-Therapie-Klinik vor.",
"Direktor" :""

Wir können die Abfrage wie gezeigt verwenden:

db.Netflix.Deleteone ("title": "Sex Education");

Die Abfrage sollte das Dokument mit dem angegebenen Titel lokalisieren und aus der Sammlung entfernen. Die Abfrage sollte zurückkehren:


"Anerkannt": wahr,
"DeletedCount": 1.0

MongoDB DB.Sammlung.Deletemany ()

Wie bereits erwähnt, können Sie mit der Methode Deletemany () mehr als ein Dokumente entfernen, die mit einem bestimmten Filter übereinstimmen.

Die Methodensyntax ist wie gezeigt:

db.Sammlung.Deletemany (
,

WriteConcern: ,
Kollation:

)

Nehmen wir beispielsweise an, wir möchten alle Dokumente vom Typ „Film“ aus der Netflix -Sammlung entfernen.

Wir können den Befehl wie gezeigt ausführen:

db.Netflix.Deletemany ("Typ": "Film")

MongoDB Ausführen der Abfrage oben scannt die Sammlung und entzieht ein beliebiges Dokument vom Typ "Film".

Die resultierende Ausgabe ist wie gezeigt:


"Anerkannt": wahr,
"DeletedCount": 6131.0

In diesem Fall können wir sehen, dass die Abfrage 6131 Dokumente aus der Sammlung löscht.

MongoDB entfernen Sie alle Dokumente

Wir können auch die Methode Deletemany () verwenden, um alle Dokumente in einer bestimmten Sammlung zu fallen, indem wir einen leeren Filter übergeben. Dies wird MongoDB zwingen, alle Dokumente in der Sammlung abzustimmen und sie an die Sammlung Deletemany () zu übergeben.

Ein Beispiel ist wie gezeigt:

db.Netflix.Deletemany ()

Der Befehl sollte die entfernte Dokumentzahl als:


"Anerkannt": wahr,
"DeletedCount": 8806.0

Abschluss

In diesem Beitrag haben wir besprochen, wie Sie mit den Methoden MongoDB Deleteone () und Deletemany () () () ein oder mehrere Dokumente aus einer bestimmten Sammlung entfernen können.