MongoDB-Dokumente löschen
In den vorherigen Kapiteln haben wir gelernt, wie man Daten zu MongoDB-Sammlungen hinzufügt und Daten in MongoDB-Sammlungen aktualisiert. In diesem Kapitel lernen wir weiter, wie man MongoDB-Sammlungen löscht.
Zu den gängigen Methoden zum Löschen von Dokumenten gehören deleteOne(), deleteMany() und findOneAndDelete().
Anwendungsfälle:
- Datenbereinigung: Alte Daten oder ungültige Daten löschen, die nicht mehr benötigt werden.
- Datenkorrektur: Fehlerhafte oder doppelte Dokumente während der Datenkorrektur löschen.
- Automatisierte Aufgaben: Dokumente basierend auf bestimmten Bedingungen in automatisierten Skripten oder Aufgaben löschen.
1、deleteOne()
Die Methode deleteOne() wird verwendet, um ein einzelnes Dokument zu löschen, das dem Filter entspricht.
Syntax:
db.collection.deleteOne(filter, options)
- filter: Die Abfragekriterien, die verwendet werden, um das zu löschende Dokument zu finden.
- options: (Optional) Ein optionales Parameterobjekt.
Beispiel
Zurückgegebenes Ergebnis:
{
"acknowledged": true,
"deletedCount": 1
}
2、deleteMany()
Die Methode deleteMany() wird verwendet, um alle Dokumente zu löschen, die dem Filter entsprechen.
Syntax:
db.collection.deleteMany(filter, options)
- filter: Die Abfragekriterien, die verwendet werden, um die zu löschenden Dokumente zu finden.
- options: (Optional) Ein optionales Parameterobjekt.
Beispiel
Zurückgegebenes Ergebnis:
{
"acknowledged": true,
"deletedCount": 1
}
3、findOneAndDelete()
Die Methode findOneAndDelete() wird verwendet, um ein einzelnes Dokument zu finden und zu löschen, und kann optional das gelöschte Dokument zurückgeben.
Syntax:
db.collection.findOneAndDelete(filter, options)
- filter: Die Abfragekriterien, die verwendet werden, um das zu löschende Dokument zu finden.
- options: Optionales Parameterobjekt, wie z. B.
projection、sortusw.
Beispiel
{ name: "Charlie" },
{ projection: { name: 1, age: 1 } }
);
findOneAndDelete gibt das gelöschte Dokument zurück; wenn kein passendes Dokument gefunden wird, wird null zurückgegeben.
Optionen für Löschvorgänge
Der options-Parameter dieser Löschmethoden kann normalerweise die folgenden Optionen enthalten:
- writeConcern: Gibt die Bestätigungsstufe für den Schreibvorgang an.
- collation: Gibt die Kollation an, die beim Vergleich von Zeichenfolgen verwendet werden soll.
- projection(Nur anwendbar auf
findOneAndDelete): Gibt die Felder an, die zurückgegeben werden sollen. - sort(Nur anwendbar auf
findOneAndDelete): Gibt die Sortierreihenfolge an, um zu bestimmen, welches Dokument gelöscht wird.
Beispiel
Ein einzelnes Dokument löschen:
db.myCollection.deleteOne({ name: "Alice" });
Mehrere Dokumente löschen:
db.myCollection.deleteMany({ status: "inactive" });
Ein einzelnes Dokument suchen und löschen:
db.myCollection.findOneAndDelete(
{ name: "Charlie" },
{ projection: { name: 1, age: 1 } }
);
Weitere Erweiterungen