Löschen oder Löschen einer Sammlung in MongoDB
- MongoDB Sammlungen löschen
-
Verwenden Sie die
drop()
-Methode in MongoDB -
Verwenden Sie die
remove()
-Methode in MongoDB - Sammlungen in MongoDB löschen
-
Verwenden Sie die
drop()
-Methode, um Sammlungen zu löschen -
Verwenden Sie die Methode
remove()
, um alle Dokumente aus der Sammlung zu löschen
In diesem Artikel wird das Problem des Löschens von Sammlungen in MongoDB erörtert. Im Folgenden werden verschiedene Methoden erläutert, die in MongoDB zum Löschen von Sammlungen verwendet werden.
MongoDB Sammlungen löschen
Die MongoDB-Löschsammlung hat zwei Möglichkeiten. Nach Ausführung des Drop-Befehls auf dem MongoDB-Datenbankserver ist die Ausgabe im true
- oder false
-Format.
Wenn die Sammlung in der Datenbank existiert und erfolgreich gelöscht wird, ist das Ergebnis true
. Das Ergebnis ist false
, wenn die Sammlung nicht in der Datenbank existiert und nicht entsprechend entfernt werden kann.
Um eine Sammlung aus MongoDB zu löschen, verwenden Sie die Drop-and-Remove-Methode. Beim Entfernen einer Sammlung müssen Sie zusätzlich den Sammlungsnamen angeben.
Verwenden Sie die drop()
-Methode in MongoDB
Um eine Sammlung aus einer Datenbank in MongoDB zu entfernen, verwenden Sie die Methode db.collection.drop()
. Es löscht eine Sammlung aus der Datenbank und hinterlässt keine damit verbundenen Indizes.
Wie funktioniert die Methode drop()
:
-
Die Methode
db.collection.drop()
und der Befehldrop
erstellen eininvalidate
-Ereignis für alle Änderungsströme, die bei einer gelöschten Sammlung geöffnet wurden. -
Der Versuch, eine Sammlung mit laufenden Indexerstellungen vor MongoDB 4.4 zu löschen, führt zu einem Fehler, und die Sammlung wird nicht verworfen. Durch das Abbrechen einer primären Indexerstellung werden die sekundären Indexerstellung für Replikatsätze oder Shard-Replikatsätze nicht abgebrochen.
Stattdessen versucht MongoDB, die laufenden Builds für die angegebenen Indizes auf der Primärdatenbank zu beenden, und schreibt bei Erfolg ein Abort-
oplog
-Element. Bevor die Indexerstellung festgeschrieben oder abgebrochen wird, warten sekundäre Member mit replizierten, laufenden Builds auf eine Festschreibung oder brechen denoplog
-Eintrag von der Hauptdatei ab. -
Ab MongoDB 4.0.2 werden durch das Löschen einer Sammlung die zugehörigen Zonen-/Tag-Bereiche gelöscht.
-
Wenn Sie versuchen, eine Sammlung in der Admin-Datenbank oder der Konfigurationsdatenbank von einem
mongos
seit MongoDB 5.0 zu löschen, erzeugen der Befehl drop und die Funktiondb.collection.drop()
einen Fehler. Stellen Sie stattdessen eine Verbindung zum Konfigurationsserver her und führen Sie den Befehl zum Entfernen dieser Sammlungen aus.
Syntax:
db.collection_database.drop()
In der obigen Syntax ist die Sammlungsdatenbank als der Name der Sammlung definiert, der zum Löschen vom Datenbankserver verwendet wird.
Verwenden Sie die remove()
-Methode in MongoDB
Um Dokumente aus einer Sammlung zu löschen, verwenden Sie die Funktion db.collection.remove()
.
Syntax:
db.collection_database.remove ({})
Die Sammlungsdatenbank ist so definiert, dass sie die Dokumente entfernen muss, wenn Sie die Methode leere Ergebnismenge ({ })
übergeben, wird die Methode remove alle Datensätze aus der Sammlung löschen.
db.collection_name.remove (<query>, {Writeconcern, justone})
Der Parameter Abfrage
ist definiert als die Möglichkeit, bestimmte Artikel aus einer Sammlung basierend auf den in der Anfrage angegebenen Kriterien zu löschen. Das Argument justone
wird definiert, wodurch ein Dokument aus der Sammlung gelöscht wird. Es muss immer aktiviert werden, indem das Schlüsselwort auf true
gesetzt wird.
Nur ein Datensatz wird entfernt, nachdem das Schlüsselwort true
im Auswahlkriterium verwendet wurde. Wenn Sie in unseren Auswahlkriterien nicht das wahre Schlüsselwort verwenden, werden alle Papiere in der Sammlung gelöscht.
Bei Verwendung von Writeconcern,
wird die Standardverwendung von Writeconcern übersprungen.
Sammlungen in MongoDB löschen
Verwenden Sie die Methode drop()
, um eine Sammlung aus der Datenbank zu entfernen, einschließlich ihrer Indizes. Die Sammlung und ihre Indizes werden mithilfe der Drop-Technik vom Datenbankserver entfernt.
Mit der Entfernungstechnik können Sie bestimmte Dokumente aus der Sammlung löschen. Die Methode remove zerstört alle Dokumente aus der Sammlung, aber die Indizes verbleiben auf dem Datenbankserver und werden nicht gelöscht.
Nach dem Entfernen einer Sammlung vom Datenbankserver erscheinen unten zwei Ergebnissätze, true
oder false
.
Die folgende Abfrage zeigt, dass die Ergebnismenge den Wert true
anzeigt, wenn eine Sammlung vom Datenbankserver gelöscht wird.
Anfrage:
show collections
db.test1.drop()
show collections
Um eine Sammlung aus einer Datenbank zu löschen, müssen Sie sich zunächst mit der betreffenden Datenbank verbinden. Wenn Sie sich nicht mit der angegebenen Datenbank verbunden oder darauf zugegriffen haben, wird die Sammlung nicht zerstört.
Die folgende Abfrage zeigt, wie Sie die angegebene Datenbank verwenden müssen, bevor Sie die Sammlung aus der Datenbank löschen.
Anfrage:
db.col_stat.drop()
use test
db.col_stat.drop()
show collections
Verwenden Sie die drop()
-Methode, um Sammlungen zu löschen
Verwenden Sie den Befehl show dbs
, um eine Liste der zugänglichen Datenbanken anzuzeigen.
Wenn Sie eine neue Datenbank mydb>,
löschen möchten, verwenden Sie den Befehl dropDatabase()
wie folgt:
Jetzt Checkliste der Datenbanken.
Verwenden Sie die Methode remove()
, um alle Dokumente aus der Sammlung zu löschen
Betrachten Sie die folgenden Daten aus dem mycol
-Datensatz.
{_id : ObjectId("507f191e810c19729de860e1"), title: "MongoDB Overview"},
{_id : ObjectId("507f191e810c19729de860e2"), title: "NoSQL Overview"},
{_id : ObjectId("507f191e810c19729de860e3"), title: "Tutorials Point Overview"}
Das folgende Beispiel löscht alle Datensätze mit dem Titel 'MongoDB Overview'
.
Wenn es mehrere Datensätze gibt und Sie den ersten löschen möchten, verwenden Sie die Option justOne
in der Funktion remove()
.
>db.COLLECTION_NAME.remove(DELETION_CRITERIA,1)
MongoDB entfernt ganze Dokumente aus der Sammlung, wenn keine festgelegten Löschkriterien vorliegen. Dies ist das Gegenstück zum SQL-Truncate-Befehl.
Nach db.mycol.find()
wird nichts angezeigt, da alle Daten aus Datenbanken entfernt werden.
In diesem Artikel haben wir gelernt, wie man Sammlungen in MongoDB löscht oder entfernt. Die Methode drop() löscht die Sammlung und ihre Indizes, während die Methode remove ein einzelnes oder alle Dokumente aus der Sammlung löscht.
Wenn die Sammlung in der Datenbank vorhanden ist, zeigt die Ergebnismenge das Ergebnis als true
an und zeigt eine falsche
Ausgabe an.