In MongoDB der count Der Aggregationsbefehl zählt die Anzahl der Dokumente in einer Sammlung oder Ansicht.
Es gibt ein Dokument zurück, das sowohl die Anzahl als auch den Befehlsstatus enthält.
Beispiel
Angenommen, wir haben eine Sammlung namens pets mit folgenden Dokumenten:
{ "_id" : 1, "name" : "Wag", "type" : "Dog", "weight" : 20 }
{ "_id" : 2, "name" : "Bark", "type" : "Dog", "weight" : 10 }
{ "_id" : 3, "name" : "Meow", "type" : "Cat", "weight" : 7 }
{ "_id" : 4, "name" : "Scratch", "type" : "Cat", "weight" : 8 }
{ "_id" : 5, "name" : "Bruce", "type" : "Bat", "weight" : 3 }
{ "_id" : 6, "name" : "Fetch", "type" : "Dog", "weight" : 17 }
{ "_id" : 7, "name" : "Jake", "type" : "Dog", "weight" : 30 } Wir können die folgende Abfrage verwenden, um die Anzahl der Dokumente in der Sammlung zurückzugeben:
db.runCommand( { count: "pets" } ) Ergebnis:
{ "n" : 7, "ok" : 1 }
Die MongoDB-Dokumentation rät sogar davon ab, den count zu verwenden Befehl und seine Wrapper-Methoden ohne Abfrageprädikat. Dies liegt daran, dass bei Ausführung ohne Abfrageprädikat Ergebnisse basierend auf den Metadaten der Sammlung zurückgegeben werden, was zu einer ungefähren Anzahl führen kann.
Das Ergebnis einer Abfrage zählen
Sie können das Ergebnis einer Abfrage zählen, indem Sie das folgende Formular verwenden.
Beispiel:
db.runCommand( {
count: "pets",
query: { type: "Dog" }
} ) Ergebnis:
{ "n" : 4, "ok" : 1 } In diesem Beispiel sehen wir, dass die Sammlung vier Hunde enthält.
Lassen Sie uns die Anzahl einer anderen Abfrage überprüfen. Dieses Mal werden wir herausfinden, wie viele Haustiere ein bestimmtes Gewicht überschreiten.
db.runCommand( { count:'pets',
query: { weight: { $gt: 10 } }
} ) Ergebnis:
{ "n" : 3, "ok" : 1 } Beschränken Sie die Anzahl
Sie können das limit verwenden Parameter, um eine maximale Anzahl von zu zählenden Dokumenten anzugeben.
Beispiel:
db.runCommand( {
count: "pets",
query: { type: "Dog" },
limit: 3
} ) Ergebnis:
{ "n" : 3, "ok" : 1 } Wir haben vorher gesehen, dass es tatsächlich 4 Hunde gibt, aber in diesem Beispiel haben wir es auf maximal 3 beschränkt.
Wenn das Limit höher ist als die tatsächliche Anzahl, wird das Ergebnis nicht durch das limit beeinflusst Argument.
Beispiel:
db.runCommand( {
count: "pets",
query: { type: "Dog" },
limit: 10
} ) Ergebnis:
{ "n" : 4, "ok" : 1 } Dokumente überspringen
Sie können den skip verwenden Parameter, um eine Reihe von Dokumenten vor dem Zählen zu überspringen.
Beispiel:
db.runCommand( {
count: "pets",
query: { type: "Dog" },
skip: 2
} ) Ergebnis:
{ "n" : 2, "ok" : 1 } Einstellung
Beachten Sie, dass in der MongoDB-Dokumentation Folgendes angegeben ist:
MongoDB-Treiber, die mit den 4.0-Funktionen kompatibel sind, verwerfen ihren jeweiligen Cursor und ihre Sammlung
count()APIs (die dencountausführen Befehl) zugunsten neuer APIs, diecountDocuments()entsprechen undestimatedDocumentCount(). Die spezifischen API-Namen für einen bestimmten Treiber finden Sie in der Treiber-API-Dokumentation.
Weitere Informationen
Die count Der Befehl enthält andere Felder, wie z. B. hint , comment , readConcern und collation .
Weitere Informationen finden Sie in der MongoDB-Dokumentation.