Count() & Remove() Funktionen in MongoDB mit Beispiel
โก Intelligente Zusammenfassung
Die Funktionen Count() und Remove() in MongoDB Ermitteln Sie die Anzahl der Dokumente in einer Sammlung und lรถschen Sie Dokumente daraus. Die Methode `count()` gibt die Gesamtzahl der Dokumente zurรผck, wรคhrend die Methode `remove()` entweder alle Dokumente oder nur diejenigen lรถscht, die einer bestimmten Bedingung entsprechen.

MongoDB Count()-Funktion
Das Konzept der Aggregation besteht darin, eine Berechnung der Ergebnisse durchzufรผhren, die in einer Abfrage zurรผckgegeben werden. Angenommen, Sie mรถchten beispielsweise wissen, wie viele Dokumente sich in einer Sammlung gemรคร der ausgelรถsten Abfrage befinden MongoDB stellt die Funktion count() bereit.
Beispiel von MongoDB Count()-Funktion
Schauen wir uns dazu ein Beispiel an.
db.Employee.count()
Code Erlรคuterung:
- Der obige Code fรผhrt die Zรคhlfunktion aus.
Wenn der Befehl erfolgreich ausgefรผhrt wurde, wird die folgende Ausgabe angezeigt
Ausgang:
Die Ausgabe zeigt deutlich, dass 4 Dokumente in der Sammlung vorhanden sind.
MongoDB Zรคhlen mit einer Abfragebedingung
Die Methode `count()` ist besonders nรผtzlich, wenn Sie eine Abfragebedingung รผbergeben, da sie dann nur die รผbereinstimmenden Dokumente zรคhlt, anstatt die gesamte Sammlung. Dies ist hilfreich fรผr Berichte, beispielsweise zur Anzahl der Mitarbeiter einer Abteilung oder zur Anzahl der noch offenen Bestellungen.
Das folgende Beispiel zรคhlt die Mitarbeiter, deren Mitarbeiter-ID grรถรer als 2 ist:
db.Employee.count({Employeeid:{$gt:2}})
Hier ist was passiert:
- Das Abfrageobjekt {Employeeid:{$gt:2}} fungiert als Filter und verwendet den Operator $gt (grรถรer als).
- Die Funktion count() gibt nur die Anzahl der Dokumente zurรผck, die dem Filter entsprechen.
- Der Rest der Sammlung wird bei der Gesamtberechnung nicht berรผcksichtigt.
Im aktuellen MongoDB Bei allen Versionen ist `countDocuments()` die empfohlene Methode fรผr eine bedingte Zรคhlung, da sie stets ein korrektes Ergebnis liefert. Dieselbe Abfrage funktioniert auch damit:
db.Employee.countDocuments({Employeeid:{$gt:2}})
Beide Befehle geben eine einzelne Zahl zurรผck, die Sie in einer Variablen speichern oder direkt anzeigen kรถnnen. Durch Hinzufรผgen eines passenden Index fรผr das abgefragte Feld bleiben bedingte Zรคhlungen auch bei groรen Sammlungen schnell.
Durchfรผhrung von รnderungen
Die anderen beiden Operationsklassen in MongoDB sind die Update- und Remove-Anweisungen.
Mit den Aktualisierungsvorgรคngen kรถnnen vorhandene Daten geรคndert werden, und mit den Entfernungsvorgรคngen kรถnnen Daten aus einer Sammlung gelรถscht werden.
Remove() Funktion in MongoDB
In MongoDB, hat das db.collection.remove() Die Methode wird verwendet, um Dokumente aus einer Sammlung zu entfernen. Es kรถnnen entweder alle Dokumente aus einer Sammlung entfernt werden oder nur diejenigen, die einer bestimmten Bedingung entsprechen.
Wenn Sie einfach den Befehl zum Entfernen ausfรผhren, werden alle Dokumente aus der Sammlung entfernt.
Beispiel von MongoDB Remove()-Funktion
Das folgende Codebeispiel zeigt, wie ein bestimmtes Dokument aus der Sammlung entfernt wird.
db.Employee.remove({Employeeid:22})
Code Erlรคuterung:
- Der obige Code verwendet die Remove-Funktion und gibt die Kriterien an, die in diesem Fall darin bestehen, die Dokumente zu entfernen, die die Mitarbeiter-ID 22 haben.
Wenn der Befehl erfolgreich ausgefรผhrt wurde, wird die folgende Ausgabe angezeigt
Ausgang:
Die Ausgabe zeigt an, dass 1 Dokument entfernt wurde.
Alle Dokumente entfernen vs. nur ein einzelnes Dokument
Die Methode `remove()` kann je nach den รผbergebenen Argumenten entweder alle รผbereinstimmenden Dokumente oder nur ein einzelnes lรถschen. Das Verstรคndnis dieses Unterschieds verhindert versehentlichen Datenverlust.
Um alle Dokumente in einer Sammlung zu entfernen, รผbergeben Sie eine leere Bedingung:
db.Employee.remove({})
Dadurch werden alle Dokumente gelรถscht, die Sammlung selbst bleibt jedoch erhalten. Um nur Dokumente zu entfernen, die einer bestimmten Bedingung entsprechen, รผbergeben Sie ein Abfrageobjekt, wie zuvor mit {Employeeid:22} gezeigt. Wenn mehrere Dokumente รผbereinstimmen und Sie nur das erste lรถschen mรถchten, fรผgen Sie die Option โjustOneโ hinzu.
db.Employee.remove({EmployeeName:"Smith"}, {justOne:true})
Die Hauptunterschiede sind:
- remove({}) lรถscht alle Dokumente in der Sammlung.
- remove({Bedingung}) lรถscht jedes Dokument, das der Bedingung entspricht.
- remove({condition}, {justOne:true}) lรถscht nur das erste รผbereinstimmende Dokument.
รberprรผfen Sie die Bedingung immer doppelt, bevor Sie einen Lรถschbefehl ausfรผhren, da ein leerer oder falscher Filter die gesamte Sammlung lรถschen kann. In modernen Systemen MongoDBdeleteOne() und deleteMany() ersetzen diese Muster und machen die Absicht deutlicher.
Moderne Alternativen zu count() und remove()
Sowohl count() als auch remove() sind veraltete Methoden. Neuere MongoDB Die Treiber kennzeichnen sie als veraltet und bieten klarere Alternativen an. Die folgende Tabelle ordnet jeder alten Methode ihre moderne Entsprechung zu:
| Legacy-Methode | Moderner Ersatz | Zweck |
|---|---|---|
| Anzahl () | countDocuments() | Gibt eine genaue Anzahl รผbereinstimmender Dokumente zurรผck. |
| Anzahl () | geschรคtzteDokumentenanzahl() | Gibt eine schnelle, ungefรคhre Anzahl aller Dokumente zurรผck. |
| entfernen() | deleteOne() | Lรถscht das erste Dokument, das dem Filter entspricht. |
| entfernen() | deleteMany() | Lรถscht alle Dokumente, die dem Filter entsprechen. |
Fรผr neue Anwendungen sind diese modernen Methoden vorzuziehen. Sie trennen das Zรคhlen von der Schรคtzung und das Lรถschen eines einzelnen Dokuments vom Lรถschen mehrerer Dokumente, wodurch Abfragen sicherer und lesbarer werden. Die รคlteren Funktionen `count()` und `remove()` funktionieren weiterhin fรผr รคltere Tutorials und Skripte.


